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%3EFractionner%20une%20cha%C3%AEne%20pour%20extraire%20des%20nombres%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518525%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CP%3ESalut%20%2C%3C%2FP%3E%3CP%3EJ'ai%20une%20cha%C3%AEne%20de%20caract%C3%A8res%20et%20je%20souhaite%20extraire%20une%20section%20%C3%A0%204%20chiffres.%20La%20position%20des%20chiffres%20peut%20changer%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EUn%20exemple%20de%20cha%C3%AEne%20peut%20%C3%AAtre%3C%2FP%3E%3CP%3Evalue%20%3D%22Bonjour%20exemple%200123%22%26nbsp%3B%3B%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EJ'ai%20essay%C3%A9%20cela%20mais%20cela%20ne%20fonctionne%20que%20si%20les%20chiffres%20sont%20dans%20la%20bonne%20position.%3C%2FP%3E%3CP%3Evalue%20%3D%22Bonjour%20exemple%200123%22%26nbsp%3B%3B%3C%2FP%3E%3CP%3Eextrait%3Dsubstr(valeur%2C7%2C%204)%3B%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EComme%20la%20position%20du%20num%C3%A9ro%20va%20changer%2C%20comment%20puis-je%20l'extraire%26nbsp%3B%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%3EMod%C3%A9lisation%20statistique%20avanc%C3%A9e%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%3ERe%20%3A%20Fractionner%20une%20cha%C3%AEne%20pour%20extraire%20des%20nombres%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518567%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3Ed'accord%20merci%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%20et%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%3ERe%20%3A%20Fractionner%20une%20cha%C3%AEne%20pour%20extraire%20des%20nombres%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518566%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EC'est%20probablement%20mieux%20parce%20que%20vous%20n'avez%20pas%20%C3%A0%20saisir%20le%20premier%20match.Merci!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518565%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Fractionner%20une%20cha%C3%AEne%20pour%20extraire%20des%20nombres%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518565%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EUne%20autre%20option%20consiste%20%C3%A0%20utiliser%20Regex%20au%20lieu%20de%20Regex%20Match%20(il%20existe%20%C3%A9galement%20d'autres%20options%20pour%20le%20faire%2C%20mais%20je%20pense%20que%20Regex%20et%20Regex%20Match%20sont%20les%20plus%20simples)%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%3EVoir%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%20pour%20savoir%20comment%20regex%20cela%20fonctionne%20si%20vous%20ne%20le%20connaissez%20pas.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518564%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Fractionner%20une%20cha%C3%AEne%20pour%20extraire%20des%20nombres%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518564%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3ECela%20a%20fonctionn%C3%A9%20comme%20un%20charme.%20Merci%20beaucoup!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-518561%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Fractionner%20une%20cha%C3%AEne%20pour%20extraire%20des%20nombres%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518561%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EVous%20pouvez%20essayer%20quelque%20chose%20comme%20ceci%26nbsp%3B%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%3ECela%20renvoie%20%220123%22.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EVeuillez%20noter%20qu'il%20renvoie%20toujours%20%220123%22%20si%20votre%20cha%C3%AEne%20d'entr%C3%A9e%20est%20%22Hello%2001234%20example%22.%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 !