Trouver un mot dans word avec un apostrophe (')

Résolu
Piou59150 Messages postés 2 Date d'inscription mardi 27 mai 2014 Statut Membre Dernière intervention 12 novembre 2014 - Modifié par jordane45 le 13/11/2014 à 09:40
 Piou59150 - 13 nov. 2014 à 23:44
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)

2 réponses

jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
13 nov. 2014 à 00:00
Bonjour
Tu veux savoir si un mot..quel qu'il soit
Contient une apostrophe ?
Si oui. ..utilises les REGEX
0
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
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
13 nov. 2014 à 09:47
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
0
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 13/11/2014 à 08:03
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
0
Rejoignez-nous