cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
%3CLINGO-SUB%20id%3D%22lingo-sub-518525%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3EAufteilen%20einer%20Zeichenfolge%2C%20um%20Zahlen%20zu%20extrahieren%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518525%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CP%3EHallo%20%2C%3C%2FP%3E%3CP%3EIch%20habe%20eine%20Zeichenkette%20und%20m%C3%B6chte%20einen%20Abschnitt%20mit%204%20Zahlen%20extrahieren.%20Die%20Position%20der%20Zahlen%20kann%20sich%20%C3%A4ndern%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EEin%20Beispiel%20f%C3%BCr%20die%20Zeichenfolge%20k%C3%B6nnte%20sein%3C%2FP%3E%3CP%3Evalue%20%3D%20%E2%80%9EHallo%200123%20Beispiel%E2%80%9C%3B%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EIch%20habe%20es%20versucht%2C%20aber%20es%20funktioniert%20nur%2C%20wenn%20die%20Zahlen%20an%20der%20richtigen%20Position%20sind.%3C%2FP%3E%3CP%3Evalue%20%3D%20%E2%80%9EHallo%200123%20Beispiel%E2%80%9C%3B%3C%2FP%3E%3CP%3Eextract%3Dsubstr(value%2C7%2C%204)%3B%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EDa%20sich%20die%20Position%20der%20Zahl%20%C3%A4ndert%2C%20wie%20kann%20ich%20das%20extrahieren%3F%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-518525%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CLINGO-LABEL%3EErweiterte%20statistische%20Modellierung%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518567%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Aufteilen%20einer%20Zeichenfolge%20zum%20Extrahieren%20von%20Zahlen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518567%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EOK%20danke%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F15446%22%20target%3D%22_blank%22%3E%20%40Aurora_TiffanyD%3C%2FA%3E%20Und%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F14366%22%20target%3D%22_blank%22%3E%20%40jthi%3C%2FA%3E%20!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518566%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Aufteilen%20einer%20Zeichenfolge%20zum%20Extrahieren%20von%20Zahlen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518566%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EDies%20ist%20wahrscheinlich%20besser%2C%20weil%20Sie%20nicht%20das%20erste%20Streichholz%20greifen%20m%C3%BCssen.Danke!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518565%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Aufteilen%20einer%20Zeichenfolge%20zum%20Extrahieren%20von%20Zahlen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518565%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EEine%20andere%20M%C3%B6glichkeit%20ist%20die%20Verwendung%20von%20Regex%20anstelle%20von%20Regex%20Match%20(es%20gibt%20auch%20mehr%20M%C3%B6glichkeiten%2C%20wie%20dies%20geschehen%20k%C3%B6nnte%2C%20aber%20ich%20denke%2C%20Regex%20und%20Regex%20Match%20sind%20die%20einfachsten).%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Astring%20%3D%20%22Hello%200123%20example%22%3B%0Afour_num%20%3D%20Regex(string%2C%20%22%5Cd%7B4%7D%22)%3B%26nbsp%3B%2F%2F0123%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3ESehen%3CA%20href%3D%22https%3A%2F%2Fregex101.com%2Fr%2F26hBdb%2F1%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3E%20https%3A%2F%2Fregex101.com%2Fr%2F26hBdb%2F1%3C%2FA%3E%20wie%20Regex%20funktioniert%2C%20wenn%20Sie%20damit%20nicht%20vertraut%20sind.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518564%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Aufteilen%20einer%20Zeichenfolge%20zum%20Extrahieren%20von%20Zahlen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518564%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EDas%20funktionierte%20wie%20ein%20Zauber.%20Vielen%20Dank!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518561%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EBetreff%3A%20Aufteilen%20einer%20Zeichenfolge%20zum%20Extrahieren%20von%20Zahlen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518561%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EDu%20k%C3%B6nntest%20so%20etwas%20versuchen%3A%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0A%0Astring%20%3D%20%22Hello%200123%20example%22%3B%0Amatches%20%3D%20Regex%20Match(%0A%20string%2C%0A%20%22%5B0-9%5D%7B4%7D%22%2C%0A)%3B%0A%2F%2F%20ASSUMES%20that%20you%20are%20interested%20only%20in%20the%20first%204-digit%20number%2C%20if%20there%20is%20more%20than%20one%0AextractedNumber%20%3D%20matches%5B1%5D%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EDies%20gibt%20%220123%22%20zur%C3%BCck.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBitte%20beachten%20Sie%2C%20dass%20es%20immer%20noch%20%220123%22%20zur%C3%BCckgibt%2C%20wenn%20Ihre%20Eingabezeichenfolge%20%22Hello%2001234%20example%22%20ist.%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
B1234
Level III

Splitting a string to extract numbers

Hi , 

I have a string that is character and I want to extract a 4 number section. The position of the numbers may change

 

An example of the string may be

value ="Hello 0123 example";

 

I have tried this but only works if the numbers are in the correct position. 

value ="Hello 0123 example";

extract=substr(value,7, 4);

 

As the position of the number will change how can I extract this?

 

 

2 ACCEPTED SOLUTIONS

Accepted Solutions

Re: Splitting a string to extract numbers

You could try something like this:

Names Default To Here( 1 );

string = "Hello 0123 example";
matches = Regex Match(
	string,
	"[0-9]{4}",
);
// ASSUMES that you are interested only in the first 4-digit number, if there is more than one
extractedNumber = matches[1];

This returns "0123".

 

Please note that it still returns "0123" if your input string is "Hello 01234 example".

View solution in original post

jthi
Super User

Re: Splitting a string to extract numbers

One other option is to use Regex instead of Regex Match (there are also more options how this could be done, but I think Regex and Regex Match are the easiest ones)

Names Default To Here(1);

string = "Hello 0123 example";
four_num = Regex(string, "\d{4}"); //0123

See https://regex101.com/r/26hBdb/1 for how regex this works if you are not familiar with it.

-Jarmo

View solution in original post

5 REPLIES 5

Re: Splitting a string to extract numbers

You could try something like this:

Names Default To Here( 1 );

string = "Hello 0123 example";
matches = Regex Match(
	string,
	"[0-9]{4}",
);
// ASSUMES that you are interested only in the first 4-digit number, if there is more than one
extractedNumber = matches[1];

This returns "0123".

 

Please note that it still returns "0123" if your input string is "Hello 01234 example".

B1234
Level III

Re: Splitting a string to extract numbers

This worked like a charm. Thank you so much!

jthi
Super User

Re: Splitting a string to extract numbers

One other option is to use Regex instead of Regex Match (there are also more options how this could be done, but I think Regex and Regex Match are the easiest ones)

Names Default To Here(1);

string = "Hello 0123 example";
four_num = Regex(string, "\d{4}"); //0123

See https://regex101.com/r/26hBdb/1 for how regex this works if you are not familiar with it.

-Jarmo

Re: Splitting a string to extract numbers

This is probably better because you don't have to grab the first match.  Thanks!

B1234
Level III

Re: Splitting a string to extract numbers

ok thank you @Aurora_TiffanyD and @jthi !