J'ai besoin de nettoyer certaines tables dans Word, où les points-virgules et le texte qui les suit sont redondants, par exemple
text1 ; text 2
où ci-dessus se trouve le contenu d'une cellule et j'ai besoin d' enlever le point-virgule et tout ce qui le suit jusqu'à la fin de la cellule ; Malheureusement, le texte 2 n'a pas de motif spécifique.
J'essaie de le faire avec la recherche et le remplacement intégrés de Word à l'aide de regex.
Comme la fin souhaitée de mon expression régulière est la fin de la cellule, je ne peux pas la faire correspondre. J'ai essayé plusieurs combinaisons de caractères, ;?*
;*
;?@
mais tout s'arrête au texte de correspondance le plus court. Existe -t-il un moyen de la faire correspondre jusqu'à la fin? de cellule?
regex
microsoft-word-2010
Máté Juhász
la source
la source
;?{1,}
marche?;
et un caractère après;?{1,9999}
devrait fonctionner? "{n,m}
correspond de n à m occurrences du caractère ou de l'expression précédent";[ 0-9A-Za-z]*
Réponses:
Cela semble fonctionner:
J'ai utilisé le symbole monétaire générique
¤
, vous pouvez utiliser tout autre symbole dont vous êtes sûr qu'il n'est pas inclus dans le texte après le point-virgule (peut-être que c'est un point-virgule lui-même).Juste une remarque: laisser la deuxième borne vide entre accolades ne signifie pas une chaîne sans fin, j'ai découvert par un essai que l'étendue est limitée à 255 caractères.
la source
{1,}
de@
ou*
fait un match paresseux, ainsi que le remplacement[!#]
de?
. Donc je ne trouve aucune logique derrière, mais ça marche :)J'ai besoin d'enlever le point-virgule et tout après
Utilisez l'expression régulière suivante:
{n,m}
correspondn
à desm
occurrences du caractère ou de l'expression précédent^13
correspond à une pause de paragrapheSource Rechercher et remplacer du texte à l'aide d'expressions régulières (avancé)
la source
^13
ne correspondent pas à la fin de la cellule^13
ou continue-t-il à correspondre dans la cellule suivante?;?{x,9999}
correspond uniquement au point-virgule et auxx
caractères suivants9999
peut;?{x,99}
- être ou quelque chose comme ça{1,}
correspond également à un seul personnageCopiez votre table ailleurs convertissez-le en texte ( Layout / Convert to text ) et sélectionnez
Paragraph delimiter
.Procéder en remplaçant
;*^13
par^9
, après avoirUse wildcards
vérifié. Couper ce bloc de texte.Sélectionnez tout le texte de la table d'origine et collez-le "texte uniquement".
la source