J'ai regardé partout, mais je ne peux pas trouver une commande comment je peux remplacer un mot entre deux caractères spéciaux. Je veux tout supprimer entre les deux supports.
Je n'ai réussi que pour supprimer un caractère spécial "(" mais pas le mot entier entre les supports. p>
Comment le résultat devrait-il ressembler à: P>
Exemple - Avant: 26125 Oldenburg (Oldenburg), Alexandersfeld P>
Exemple - après:
26125 Oldenburg, Alexandersfeld P>
3 Réponses :
Si vous écrivez une procédure VBA, vous pouvez utiliser une combinaison de gauche code>,
MID code> et
INSTR code>:
=IFERROR(LEFT(A15,FIND("(",A15)-1) & MID(A15,FIND(")",A15)+1,999),A15)
Le code strong> p>
Vous pouvez également utiliser des expressions régulières pour le faire.
Option Explicit Sub BereinigenRgEx() Dim Text As String, outText As String Dim RgEx As Object 'Text = ActiveSheet.Cells(1, 1) Text = "26125 Oldenburg (Oldenburg), Alexandersfeld" Set RgEx = CreateObject("VBScript.RegExp") With RgEx .Global = True .Pattern = "\(.+\)" outText = .Replace(Text, "") Debug.Print outText End With End Sub
Votre regex fonctionne sur l'échantillon donné. Mais, en règle générale, je préfère les quantificateurs paresseux afin d'éviter des problèmes s'il y a plusieurs (...) code> constructions dans la chaîne. Aussi (mon favori) considère une négation du caractère de terminaison, qui permettrait une correspondance même en cas d'intervenant
nouvelle ligne code>:
\ ([^)] + \) code>