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. P>
5 Réponses :
Vous pouvez utiliser SUBSTRING CODE> A > et indexof code> : Y.substring(0, Y.indexOf(X) + X.length))
var index = y.indexOf(x); y = index >= 0 ? y.substring(0, y.indexOf(x) + x.length) : y;
code strong> 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> p> 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> Ceci renvoie la position de caractère de la première instance de texte2, dans le texte 1. P> text2.length
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);
Pas besoin d'utiliser parseint code> ici. indexofof code> et longueur code> retourne toujours des entiers.
@Felix Kling: Juste à cause de mon habitude d'utiliser Paysint (), quand je fais des opérations arithmétiques
Si vous cherchez à correspondre à x dans Y et à renvoyer uniquement x, je vous suggère d'utiliser si vous voulez tout dans correspondant code>. résultats code> sera soit un tableau vide, soit contenir la première occurrence de x code>. p> y code> jusqu'à la première occurrence de x code>, il suffit de modifier l'expression régulière un peu. p>
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?