Return numbers in a string

ricky76ricky76 Member Posts: 204
Hi, wondered if anyone could help. I have an alpha numeric string that i want to just take the numerics out of and insert into a different variable. Any advice on how i can do this?

Comments

  • SavatageSavatage Member Posts: 7,142
    You can use Evaluate
    EVALUATE(Integer, string)
    

    Now the 2nd question is this just a string containing numbers or does the string contain letter too that have to be removed?

    Or did I get this wrong completely and you really want to take a phone number (as an example) and just get the numbers and leave out spaces, dashes, parenthasis, etc.
    txtCharsToKeep := '0123456789'; 
    "Phone No." := DELCHR("Phone No.",'=',DELCHR("Phone No.",'=',txtCharsToKeep));
    
  • ricky76ricky76 Member Posts: 204
    The string can vary in length and the numbers can be anywhere in the string.

    eg string 1 reads AAA11BB
    string 2 reads CCCC3DDDD4

    I would want to return 11 from the first string and 34 from the second string
  • SavatageSavatage Member Posts: 7,142
    Var txtCharsToKeep ->Type Text Size->30

    code/
    txtCharsToKeep := '0123456789'; 
    "Your String" := DELCHR("Your String",'=',DELCHR("Your String",'=',txtCharsToKeep));
    

    In your case you want a new string variable to contain the numbers only.
    txtCharsToKeep := '0123456789'; 
    "Your NEW String" := DELCHR("Your OLD String",'=',DELCHR("Your OLD String",'=',txtCharsToKeep));
    
  • ricky76ricky76 Member Posts: 204
    Thanks very much for your help. I was going to create a loop and check each character but this way has saved me some time. Thanks again.
Sign In or Register to comment.