The correct regex to remove the first character?

I have a column( that illustrates a dollar amount but is in string format. What I am trying to do is to remove the dollar sign ($) that is the very first character in each row, so i am only left with the numbers. I have tried the left/right substring but each dollar amount is different length so I have ran in to issues.

Best Answer

  • MichelleH
    MichelleH Coach
    Answer ✓

    Hi @user048760 ,

    If the text you want to remove is always the "$" symbol then you could use a Replace Text tile in MagicETL to just remove that character, regardless of the length.

    Then you would need use an Alter Columns tile to change the datatype of your column from string to a decimal.

Answers

  • GrantSmith
    GrantSmith Coach
    edited November 2021
    REGEXP_REPLACE(`field`,'^\$(.*)$', '$1')
    


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

    Hi @user048760 ,

    If the text you want to remove is always the "$" symbol then you could use a Replace Text tile in MagicETL to just remove that character, regardless of the length.

    Then you would need use an Alter Columns tile to change the datatype of your column from string to a decimal.

  • You should have the formula tile available to you now that Magic ETL 2.0 is live. You can then do this in a formula tile to remove the $ and convert it to a decimal:

    CAST(REPLACE(`fieldname`,'$','') as decimal)
    


    **Check out my Domo Tips & Tricks Videos

    **Make sure to <3 any users posts that helped you.
    **Please mark as accepted the ones who solved your issue.
  • Alternatively you can also use a formula tile to remove the first character by using RIGHT and LENGTH

    RIGHT(`field`, LENGTH(`field`)-1)
    
    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**