7
votes

JavaScript pour correspondre à la sous-chaîne et relie tout après elle

J'ai besoin de faire correspondre une sous-chaîne X dans la chaîne Y et devez correspondre à X puis à désigner tout après elle dans Y.


0 commentaires

5 Réponses :


4
votes

Vous pouvez utiliser SUBSTRING CODE> A > et indexof code> :

Y.substring(0, Y.indexOf(X) + X.length))


0 commentaires

0
votes
var index = y.indexOf(x);
y = index >= 0 ? y.substring(0, y.indexOf(x) + x.length) : y;

0 commentaires

13
votes

code strong> xxx pré>

première alerte n'inclut pas la recherche de texte, la seconde. P>

Explication strong> P>

Je vais expliquer la deuxième ligne du code. p> xxx pré>

p> xxx pré>

cette pièce du code prend chaque personnage de startindex à endindex, 0 étant le premier caractère. Donc, dans notre code, nous recherchons à partir de 0 (le début) et terminé sur: p> xxx pré>

Ceci renvoie la position de caractère de la première instance de texte2, dans le texte 1. P>

text2.length


0 commentaires

0
votes
var X = 'S';
var Y = 'TEST';
if(Y.indexOf(X) != -1){
 var pos = parseInt(Y.indexOf(X)) + parseInt(X.length);
 var str = Y.substring(0, pos);
 Y = str;
}
document.write(Y);

2 commentaires

Pas besoin d'utiliser parseint ici. indexofof et longueur retourne toujours des entiers.


@Felix Kling: Juste à cause de mon habitude d'utiliser Paysint (), quand je fais des opérations arithmétiques



5
votes

Si vous cherchez à correspondre à x dans Y et à renvoyer uniquement x, je vous suggère d'utiliser correspondant . xxx

résultats sera soit un tableau vide, soit contenir la première occurrence de x .

si vous voulez tout dans y jusqu'à la première occurrence de x , il suffit de modifier l'expression régulière un peu. xxx


1 commentaires

Comment je peux faire s'il y a deux fois "Trésor" dans la chaîne et je veux faire correspondre après le dernier?