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%3EDivisione%20di%20una%20stringa%20per%20estrarre%20numeri%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518525%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CP%3ECIAO%20%2C%3C%2FP%3E%3CP%3EHo%20una%20stringa%20che%20%C3%A8%20un%20carattere%20e%20voglio%20estrarre%20una%20sezione%20di%204%20numeri.%20La%20posizione%20dei%20numeri%20potrebbe%20cambiare%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EUn%20esempio%20della%20stringa%20potrebbe%20essere%3C%2FP%3E%3CP%3Evalore%3D%22Ciao%200123%20esempio%22%3B%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EL'ho%20provato%20ma%20funziona%20solo%20se%20i%20numeri%20sono%20nella%20posizione%20corretta.%3C%2FP%3E%3CP%3Evalore%3D%22Ciao%200123%20esempio%22%3B%3C%2FP%3E%3CP%3Eestratto%3Dsubstr(valore%2C7%2C%204)%3B%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EPoich%C3%A9%20la%20posizione%20del%20numero%20cambier%C3%A0%2C%20come%20posso%20estrarlo%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%3EModellazione%20statistica%20avanzata%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%3A%20Dividere%20una%20stringa%20per%20estrarre%20numeri%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518567%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3Eok%20grazie%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%20E%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%3A%20Dividere%20una%20stringa%20per%20estrarre%20numeri%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518566%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EQuesto%20%C3%A8%20probabilmente%20meglio%20perch%C3%A9%20non%20devi%20prendere%20la%20prima%20partita.Grazie!%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%3A%20Dividere%20una%20stringa%20per%20estrarre%20numeri%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518565%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EUn'altra%20opzione%20%C3%A8%20usare%20Regex%20invece%20di%20Regex%20Match%20(ci%20sono%20anche%20pi%C3%B9%20opzioni%20su%20come%20farlo%2C%20ma%20penso%20che%20Regex%20e%20Regex%20Match%20siano%20le%20pi%C3%B9%20facili)%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%3EVedere%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%20per%20come%20funziona%20regex%20se%20non%20lo%20conosci.%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%3A%20Dividere%20una%20stringa%20per%20estrarre%20numeri%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518564%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EQuesto%20ha%20funzionato%20come%20un%20fascino.%20Grazie%20mille!%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%3A%20Dividere%20una%20stringa%20per%20estrarre%20numeri%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-518561%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EPotresti%20provare%20qualcosa%20del%20genere%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%3EQuesto%20restituisce%20%220123%22.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESi%20noti%20che%20restituisce%20ancora%20%220123%22%20se%20la%20stringa%20di%20input%20%C3%A8%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 !