-1
votes

Trouver un mot spécifique dans une chaîne

Je veux vérifier qu'une chaîne contient vraiment un mot spécifique. Comme ça,

Problème
  • "Word" String contient, "mot" mot, identique à;

  • "Daword" String contient, "mot" mot, identique à;

  • "dawordo" chaîne contient, "mot" mot.

    ce que je veux?
    • "mot" string doit vraiment contenir, "mot" mot, comme;

    • "(espaces blouses)" (WhitSpaces) " String devrait vraiment contenir, " mot " mot, identique à;

    • "da Word" string doit vraiment contenir, "mot" mot de la même manière que;

    • "da Word o" string doit vraiment contenir, "mot" mot "

    • "(espaces blancs) mot" string doit vraiment contenir, "mot" mot aussi identique que;

    • "" Word (espaces blancs) " string doit vraiment contenir, " mot " mot aussi identique que;


      Comment puis-je faire cela dans JavaScript? Merci!


4 commentaires

Alors .. \ BWARD \ B ?


Je suis tellement confus. Je n'ai rien compris.


@George, votre Dieu est bon! Je ne savais pas \ B caractère spécial dans l'expression régulière, merci pour cette information importante. Merci, ça a fonctionné!


@ Muhammedçağlartufan vous êtes les bienvenus.


3 Réponses :


-1
votes

Vous pouvez utiliser la fonction IndexOf. Cela retournera -1 si la phrase ne contient pas le mot que vous recherchez, sinon il retournera le décalage.

https://www.w3schools.com/jsref/jsref_indexof.asp/jsref_indexof.asp p>

Je suggère de modifier l'exemple un bit pour la première convertir la chaîne en basse si vous n'êtes pas à la recherche de la casse sensible à la case. p>

p>

var str = "Hello world, Welcome to the universe.";
var n = str.toLowerCase().indexOf("welcome");
if(n > -1)
{
    console.log("The search string was located at offset " + n);
}
else
{
    console.log("The string did not contain the search string...");
}


2 commentaires

Merci de réponse mais, le problème est-ce :) J'ai trouvé la solution. Avec regex, \ bword \ b va bien!


@Paulishak parce que, comme l'a dit OP, cela ne résout pas le problème



0
votes

Utilisez String.Inclus Code>

p>

const target = 'word';
const arr = ['word', ' word ', 'hello_word', 'not_here'];

arr.forEach(w => console.log(w, w.includes(target)));


8 commentaires

Merci de réponse mais, le problème est-ce :) J'ai trouvé la solution. Avec regex, \ bword \ b va bien!


J'ai expliqué le problème sur la réponse exactement, dans la chaîne 'hello_word' , "mot" shoul ne correspond pas à ce que ce soit comme ce ' Bonjour mot '.


Tu n'as pas fait. En supposant que dawordo retourne vrai, alors pourquoi hello_word pas? Votre question n'est pas aussi détaillée que cela devrait être


Dans ma question, pourquoi DAWORDO ou HELLO_WORD devrait renvoyer vrai comme vous comprenez?


Vous avez littéralement demandé que "Dawordo" String contient, "mot" mot


Suis-je demandant la question ou décrivant le problème là-bas?


Comment pourrais-je savoir? Ce n'est pas comme si vous l'avez écrit en anglais clair et correct


Oui, vous ne pouvez pas savoir, vous avez raison. J'ai aussi de l'anglais moyen aussi. Mais au moins j'ai fait de mon mieux avec la création d'en-têtes et un contenu de remplissage sous ces titres. Merci pour votre aide, passez une bonne journée, monsieur.



2
votes

Le regex \ bword \ b code> fera le tour.

p>

// should use \b with regex
var str = 'testwordtest';
if(str.match(/\bword\b/)){
    console.log('match');
} else {
    console.log('no match');
}


1 commentaires

@ Muhammedçağlartufan Nevermind, j'ai mal interprété la modification.