webForumDet fria alternativet

Plocka siffror ur sträng

12 svar · 337 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Hur gör jag en funktion som plockar ut siffror i slutet av en sträng?
Strängen ser ut så här och kan innehålla olika antal siffror i slutet men de föregås alltid av ett underscore.

name_12
@ndersMedlem sedan juni 200032 969 inlägg
#2

Jag hade försökt typ så här (om det bara finns ett underscore i strängen såklart):

strFoo = 'name_12';
strBar = strFoo.split('_')[1];

Inte för att jag är säker på att det funkar, men ändå. ;)

Mvh

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Det funkar kalas! :)

Vi får hoppas att inte någon får för sig att stoppa in fler underscore.

@ndersMedlem sedan juni 200032 969 inlägg
#4

Om folk kan det, så kommer någon garanterat att göra det. Det är dock en smal sak att fixa det, men det blir en kodrad till. ;)

Mvh

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

Har du lust att dela med dig även av denna kodrad?

@ndersMedlem sedan juni 200032 969 inlägg
#6

Web-Tor skrev:

Har du lust att dela med dig även av denna kodrad?

Om herrn så önskar. ;)

Detta borde fjungera:

strFoo = 'foo_bar_name_126';
arrFoo = strFoo.split('_');
strBar = arrFoo[arrFoo.length-1];

Mvh

Web-TorMedlem sedan nov. 200013 890 inlägg
#7

Gulligt! :f

@ndersMedlem sedan juni 200032 969 inlägg
#8

Eller:

strFoo = 'foo_bar_name_126';
strBar = strFoo.substring(strFoo.length, strFoo.lastIndexOf('_') + 1);

Mvh

sabbacusMedlem sedan juli 2002630 inlägg
#9

om strängen alltid börjar med "name_", är det inte bättre att använda javascripts substringfunktion?

strFoo = 'name_126';
strFoo.substring(0,5);

Sitter inte vid en editor nu så jag kan inte validera att snutten ovan fungerar men något liknande bör det vara.
/M

Web-TorMedlem sedan nov. 200013 890 inlägg
#10

Den börjar inte alltid med "name_". ;)

sabbacusMedlem sedan juli 2002630 inlägg
#11

attans :)

HansenMedlem sedan aug. 2000374 inlägg
#12

Re: Plocka siffror ur sträng

Web-Tor skrev:

Hur gör jag en funktion som plockar ut siffror i slutet av en sträng?
Strängen ser ut så här och kan innehålla olika antal siffror i slutet men de föregås alltid av ett underscore.

name_12

Funkar det med ett reguljärt uttryck?, typ:

alert( /(\d+)$/.exec('name_5454')[0] );
Web-TorMedlem sedan nov. 200013 890 inlägg
#13

Det funkar säkert men jag kör på split.
Tack ändå. :)

131 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)