Je sais que
parseInt(myString, 10) // "Never forget the radix"
6 Réponses :
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
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
parseInt("column6445".match(/(\d+)$/)[0], 10);
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 :)
Essayez ceci: ceci convertira des chaînes telles que Ajout de la radioc à l'appel parsint car la valeur parseint par défaut est trop voir ici pour plus de détails: P> http: / /www.w3schools.com/jsref/jsref_parseint.asp p> Il convertira fondamentalement quelque chose comme text10 code> sur
text11 code>,
txt1 code> to < Code> txt2 code>, etc. fonctionne avec des nombres longs à la fin. p>
magie code> à faire confiance . P>
text010 code> sur
text9 code> ce qui n'est pas bon ;). P> p>
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;
diviser le mot et le numéro à l'aide de regex. p> li>
Utilisation de parsint () incrémentez le nombre. p> li>
Ajouter au mot. P> li> ol>
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. P>
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 :-)