Trouver un mot dans word avec un apostrophe (') [Résolu]

Messages postés
2
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
12 novembre 2014
-
Bonjour

J'essaie de trouver un code qui me permettrait d'identifier la présence d'un mot avec un apostrophe dedans.

Le code que j'ai n'identifier que les mots "entiers"

Voici le code que j'utilise
 If xmlDoc.InnerXml.Contains("L'écolier") Then
            MsgBox("L'écolier trouvé")
 End If

Je suis en visual basic ultimate 2013

Merci d'avance pour votre aide

Sébastien

EDIT : Ajout des balises de code (jordane)
Afficher la suite 

2 réponses

Messages postés
25762
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 juin 2019
312
0
Merci
Bonjour
Tu veux savoir si un mot..quel qu'il soit
Contient une apostrophe ?
Si oui. ..utilises les REGEX
Bonjour

En fait c'est vraiment des mots précis que je voudrais trouver car je voudrais, après avoir dupliquer le fichier, modifier ces mots avec un
xmlDoc.InnerXml.replace("L'écolier","ELEVE1") par exemple

Merci de votre aide

Sébastien
jordane45
Messages postés
25762
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 juin 2019
312 -
Donc ce que tu me dis.. c'est que tu veux utiliser "contains" ( le code que tu nous a donné au début) mais qu'avec des mots contenant des apostrophes ça ne fonctionne pas ?
c'est bien ça ??

Question bête.... as tu essayé d'échapper ton apostrophe ?
=> C'est à dire en mettant un back-slash devant....

If xmlDoc.InnerXml.Contains("L\'écolier") Then
            MsgBox("L'écolier trouvé")
 End If


Pour en revenir à ton souhait de trouver/remplacer..... les REGEX permettent de le faire...Sais tu au moins ce que c'est ??
As tu pris le temps de chercher sur le net après avoir lu ma réponse précédente ??

Voici de quoi traiter ta demande en REGEX :
=> Pour vérifier si une chaine existe :
http://msdn.microsoft.com/fr-fr/library/twcw2f1c%28v=vs.110%29.aspx


=> Pour remplacer une chaine par une autre :
http://msdn.microsoft.com/fr-fr/library/xwewhkd1%28v=vs.110%29.aspx
Bonsoir

Pour les personnes que ca intéresse j'ai trouvé ce code qui est génial car ca ne tient pas compte des accentes, apostrophe et autres caractères spéciaux

https://social.msdn.microsoft.com/Forums/en-US/1558f560-8ae6-413a-bbc4-aa8d5d912aac/find-replace-in-a-word-document-by-vbnet?forum=vbide

Sébastien
Commenter la réponse de jordane45
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Bonjour,
Plusieurs méthodes sont envisageables.
En voici une
Je vais me contenter de l'exposé du principe. A toi, ensuite, de développer sur ces bases :
1) "éclate" la chaîne à traiter par rapport au séparateur espace (utilise la fonction split)
2) parcours en boucle les élements de l'array ainsi obtenu et :
--- si contient une apostrophe
--- supprime cette apostrophe
--- si le dernier caractère n'est pas un ";", une "," un ";" etc ... : remplace-le par un "1" (ou e que tu veux)
--- si c'est un un ";", une "," un ";" etc ... , remplace l'avant dernier caractère
3) "rassemble à nouveau le tout (fonction Join)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu