8
votes

Utilisation JavaScript Parsint à la fin de la chaîne

Je sais que

parseInt(myString, 10) // "Never forget the radix"  


1 commentaires

S'il vous plaît n'utilisez jamais Paysint sans le 2e argument, 10 ici, si vous ne voulez pas de bugs très étranges :-)


6 Réponses :


1
votes
var my_car="Ferrari";
var the_length=my_car.length;
var last_char=my_car.charAt(the_length-1);
alert('The last character is '+last_char+'.');
Credit to http://www.pageresource.com/jscript/jstring1.htmThen just increment last_char

3 commentaires

Merci pour une réponse rapide! Mais que si le nombre est un nombre variable de chiffres? Je m'attends à avoir des centaines de colonnes; x


Je ne sais pas si cela fonctionnerait si le nombre est de 2 chiffres ou plus.


C'est bien, donc longueur, cela calculera le nombre de caractères dans une chaîne



20
votes
parseInt("column6445".match(/(\d+)$/)[0], 10);

6 commentaires

Qu'est-ce que vous faites pour 3 caractères? ou 4 ou 5 ou 12?


J'aime ça mais je pense que .Slice (6, string.length) vous donnera les derniers chiffres X (un commentaire de La Benhowdle89)


vous ne connaissez pas a priori combien de "colonnes" (aka chiffres) le numéro de fin aura


faire aussi. Toutes les chaînes ressemblent à ColumnxXX où XXX est un nombre variable de chiffres. Vous connaissez "la colonne" est de 6 caractères et vous connaissez la longueur totale de la chaîne colonneXXX ..., soustrayez-les et vous obtenez NumDigits. Équivalent à la tranchée de la moitié gauche (connue) au lieu d'essayer de deviner la taille de la droite.


@Toader Mihai Claudiu L'OP n'a pas précisé que la longueur du chiffre était arbitraire dans la question initiale, mais j'ai mis à jour ma réponse pour inclure cette affaire.


@Toader Mihai Claudiu merci :)



3
votes

Essayez ceci: xxx

ceci convertira des chaînes telles que text10 sur text11 , txt1 to < Code> txt2 , etc. fonctionne avec des nombres longs à la fin.

Ajout de la radioc à l'appel parsint car la valeur parseint par défaut est trop magie à faire confiance .

voir ici pour plus de détails:

http: / /www.w3schools.com/jsref/jsref_parseint.asp

Il convertira fondamentalement quelque chose comme text010 sur text9 ce qui n'est pas bon ;).


0 commentaires

4
votes

Divisez le nombre du texte, analysez-le, incrémentez-le, puis repassez-le. Si la chaîne précédente est bien connue, par exemple, "colonne", vous pouvez faire quelque chose comme ceci:

var precedingString = myString.substr(0, 6); // 6 is length of "column"
var numericString = myString.substr(7);
var number = parseInt(numericString);
number++;

return precedingString + number;


0 commentaires

0
votes
  1. diviser le mot et le numéro à l'aide de regex.

  2. Utilisation de parsint () incrémentez le nombre.

  3. Ajouter au mot.


0 commentaires

0
votes

Essayez simplement de lire la chaîne de caractères de caractères, en vérifiant son code ASCII. Si c'est de 48 à 57, vous avez votre numéro. Essayez avec la fonction de charcodation. Ensuite, il suffit de diviser la chaîne, incrémentez le nombre et c'est fait.


0 commentaires