extracting letter out of field

I have a row that contains model numbers such as:

YM103Kl - (model category would be YM and capacity is 103, and capacity multiplier is K)

YAC24MT (YAC and 24)

NC33KMT (NC and 33)

I'm trying to figure out how to extract the capacity multiplier. @GrantSmith helped me to identify the model category and capacity with the following formulas.

Can anyone advise on how to do this?

Model category:

  1. REGEXP_REPLACE(`field`, '^(\D+).*$', '$1')

Capacity:

  1. REGEXP_REPLACE(`field`, '^\D+(\d+).*$', '$1')

Capacity Multiplier??

Best Answer

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    Alternatively, you can use the same regular expression for all parts of your string and just use a different matching group:

    Model category:

    REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$1')
    

    Capacity:

    REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$2')
    

    Multiplier:

    REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$3')
    

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**

Answers

  • Hi @NathanDorsch

    REGEXP_REPLACE(`field`, '^\D+\d+(\D).*$', '$1')
    

    Should return you the character after your digits.

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • GrantSmith
    GrantSmith Coach
    Answer ✓

    Alternatively, you can use the same regular expression for all parts of your string and just use a different matching group:

    Model category:

    REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$1')
    

    Capacity:

    REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$2')
    

    Multiplier:

    REGEXP_REPLACE(`field`, '^(\D+)(\d+)(\D).*$', '$3')
    

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**