Question Comment puis-je obtenir les derniers caractères d'une chaîne en utilisant JavaScript


j'ai

var id="ctl03_Tabs1";

En utilisant JavaScript, comment pourrais-je obtenir les cinq derniers caractères ou le dernier personnage?


540
2018-05-03 18:12


origine


Réponses:


Vous voudrez utiliser la méthode de chaîne Javascript .substr() combiné avec .length propriété.

var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"

Cela obtient les caractères commençant à id.length - 5 et, puisque le deuxième argument pour .substr () est omis, continue à la fin de la chaîne.

Vous pouvez également utiliser le .slice() méthode que d'autres ont souligné ci-dessous.

Si vous recherchez simplement les caractères après le trait de soulignement, vous pouvez utiliser ceci:

var tabId = id.split("_").pop(); // => "Tabs1"

Cela sépare la chaîne en un tableau sur le trait de soulignement, puis "pops" le dernier élément du tableau (qui est la chaîne que vous voulez).


852
2018-05-03 18:19



Ne pas utiliser .substr(). Utilisez le .slice() méthode à la place, car il est compatible avec plusieurs navigateurs (voir IE).

var id = "ctl03_Tabs1";
id.slice(-5); //Outputs: Tabs1
id.slice(-1); //Outputs: 1

substr () avec une valeur négative ne fonctionne pas dans IE


647
2018-03-18 09:41



Obtenir le dernier caractère est facile, car vous pouvez traiter les chaînes comme un tableau:

var lastChar = id[id.length-1];

Pour obtenir une section d'une chaîne, vous pouvez utiliser substr fonction ou la sous-chaîne fonction:

id.substr(id.length-1); //get the last character
id.substr(2); //get the characters from the 3rd character on
id.substr(2, 1); //get the 3rd character
id.susbstr(2, 2); //get the 3rd and 4th characters

La différence entre substr et substring est comment le second paramètre (optionnel) est traité. Dans substr, c'est la quantité de caractères de l'index (le premier paramètre). Dans substring, c'est l'index de l'endroit où le découpage de caractères devrait se terminer.


52
2018-05-03 18:21



Vous pouvez utiliser le Méthode substr () avec une position de départ négative pour récupérer les n derniers caractères. Par exemple, ceci obtient les 5 derniers:

var lastFiveChars = id.substr(-5);

44
2018-06-18 13:25



Le script suivant montre le résultat pour obtenir les 5 derniers caractères et le dernier caractère d'une chaîne utilisant JavaScript:

var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character

Sortie:

Tabs1 // Got 5 characters

1 // A obtenu 1 caractère


21
2018-04-18 04:52



Il n'y a pas besoin d'utiliser substr méthode pour obtenir un seul caractère d'une chaîne!

Prenant l'exemple de Jamon Holmgren, nous pouvons changer la méthode substr et simplement spécifier la position du tableau:

var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"

7
2017-07-05 12:55



Vérifiez fonction de sous-chaîne.

Pour obtenir le dernier caractère:

id.substring(id.length - 1, id.length);

6
2018-05-03 18:15



En supposant que vous comparerez la sous-chaîne à la fin d'une autre chaîne et que vous utilisiez le résultat en tant que booléen, vous pouvez étendre la classe String pour accomplir ceci:

String.prototype.endsWith = function (substring) {
  if(substring.length > this.length) return false;
  return this.substr(this.length - substring.length) === substring;
};

Vous permettant de faire ce qui suit:

var aSentenceToPonder = "This sentence ends with toad"; 
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true

2
2018-01-24 00:51



Si vous voulez juste le dernier caractère ou n'importe quel personnage à la position de connaissance, vous pouvez simplement traîner la chaîne comme un tableau! - les chaînes sont itérationnables en javascript -

Var x = "hello_world";
 x[0];                    //h
 x[x.length-1];   //d

Pourtant, si vous avez besoin de plus d'un seul caractère, utilisez splice est efficace

x.slice(-5);      //world

En ce qui concerne votre exemple

"rating_element-<?php echo $id?>"

Pour extraire l'identifiant, vous pouvez facilement utiliser split + pop

Id= inputId.split('rating_element-')[1];

Cela renverra l'identifiant, ou undefined si aucun identifiant ne se trouve après 'rating_element' :)


2
2017-11-17 22:47