Existe-t-il un moyen de rechercher des modèles dans un document MS Word au lieu d'une correspondance exacte?
J'ai un document où toutes les décimales ont été écrites sous la forme /
au lieu de .
. Par exemple, 1.02
a été écrit avec 1/02
, car la typographie persane utilise /
au lieu de .
pour le point décimal.
Comme /
n'est pas seulement utilisé pour les décimales, il a d'autres applications, par exemple, des fractions, un pourcentage, etc., existe-t-il un moyen de trouver un motif tel que N/M
dans un document Word, où N
dénote un décimal et M
nombre décimal?
comme 'N/M' dans un document Word, où N désigne une décimale et M indique également un autre nombre décimal
Juste pour une recherche, vous pouvez utiliser ^#/^#
comme paramètre de recherche. Sous les options more et find Special , il existe d'autres options. cela peut être utile.
Nb: ^#
, correspond à une décimale, donc si vous recherchez spécifiquement x/yy, ce serait ^#/^#^#
etc.
remplacer,
C’est une meilleure option. Effectuez une recherche avec ([0-9])/([0-9])
et remplacez-la par \1.\2
, puis activez "utiliser des caractères génériques".
Utiliser l'implémentation d'expressions régulières de Microsoft
Presse CTRL+H "Cliquez sur Plus " Activer Utiliser des caractères génériques
([0-9]{1,2})/([0-9]{2})
\1.\2
Cela ressemble à un motif de recherche fou alors examinons-le:
[0-9]
représente une seule valeur numérique (0,1,2,3,4,5,6,7,8 et 9){1,2}
est utilisé pour compter les occurrences du caractère ou de l'expression précédent. Dans notre cas, cela signifie: Recherchez uniquement un ou deux chiffres .
Attention: Si vous utilisez un mot allemand, vous devez utiliser ;
comme séparateur au lieu de ,
/
n'a pas de signification particulière. Il cherche littéralement une barre oblique()
les parenthèses sont importantes. Ils divisent le modèle en séquences logiques afin que nous puissions utiliser ultérieurement \1
, \2
...\n
dans notre modèle de remplacement. De cette façon, nous préservons les valeursEn savoir plus sur la section Les expressions, pièce par pièce dans l'article de support de Microsoft ou sur site Word de Graham Mayor
Je vous suggère d'utiliser une méthode VBA qui respecte davantage la valeur par défaut des autres moteurs RegEx. Ils sont mieux documentés et plus de gens peuvent vous aider.
Cette macro demande à un motif RegEx de rechercher dans tout le document et de le remplacer par votre chaîne donnée.
Presse ALT+F11 pour ouvrir l'éditeur VBA. Collez le code n'importe où et exécutez-le avec F5
Sub RegexReplace()
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
On Error Resume Next
RegEx.Global = True
RegEx.Pattern = InputBox("Find what:")
ActiveDocument.Range = _
RegEx.Replace(ActiveDocument.Range, InputBox("Replace with:"))
End Sub
(?!\d)/(?=\d)
.