Regex supprimer word à partir d'une chaîne de caractères
J'ai essayé de supprimer un "Admin" mot de cette chaîne
1H|\^&|||ARCHITECT^8.10^F3453010030^H1P1O1R1C1Q1L1|||Admin||||P|1|20150511083525
1D
avec cette regex
[^\w\b(Admin\])\b.-]+
et la sortie est 1H|ARCHITECT|8.10|F3453010030|H1P1O1R1C1Q1L1|Admin|P|1|20150511083525|1D
il ne supprime pas l'Admin mot.
de sortie souhaitée:
1H|ARCHITECT|8.10|F3453010030|H1P1O1R1C1Q1L1|P|1|20150511083525|1D
j'ai besoin d'aide pour améliorer la regex 🙁
Avez-vous essayé de Chaîne.Remplacer ?
non, je n'ai pas essayé, mais le programme que j'ai écrit est basé sur cette regex et les données est de changer dynamiquement l'admin mot peut changer à différents indices.
Kevin, et alors? chaîne de caractères.Remplacer serait encore du travail..
ok vais essayer...
non, je n'ai pas essayé, mais le programme que j'ai écrit est basé sur cette regex et les données est de changer dynamiquement l'admin mot peut changer à différents indices.
Kevin, et alors? chaîne de caractères.Remplacer serait encore du travail..
ok vais essayer...
OriginalL'auteur Kevin Rodriguez | 2015-08-19
Vous devez vous connecter pour publier un commentaire.
Fondamentalement votre regex doit être comme ceci
ok cochez la case modifier
bonjour il y a juste un problème si les personnages ont de l'espace, il devrait remplacer l'espace avec |
utilisez cette
([^\w]*Admin[^\w]*)+|[|\\^&\r\n\s]+
OriginalL'auteur Arunesh Singh
Pas nécessaire d'utiliser des regex ici. Vous pouvez utiliser Remplacer fonction;
Si en utilisant les Regex est important pour vous, essayez cette variante:
yourString.Replace("|Admin|", "||");
si "Admin" venaient à se produire dans d'autres lieux.Ne pas supprimer les "espaces vides" -
||
- ce qui est prévu si vous voyez le résultat souhaité.OriginalL'auteur Artem Kulikov
100% de travail
changements :
1: @ devant chaîne et
2:du Système.Texte.RegularExpressions.RegexOptions.IgnoreCase
Admin
) à\|Admin\|' to remove the vertical bar as well. Then add
|\||` pour supprimer les "espaces vides" et échanges avec les|
. I. e."\|Admin\||\||"
comme regex (2e argument) et"|"
en tant que chaîne de caractères de remplacement (3ème argument). Il n'est pas parfait parce que siAdmin
, ou un espace vide, est en début ou en fin de chaîne, il ne fonctionnera pas. Il est possible de corriger le problème, mais si il n'est pas nécessaire, je ne veux pas compliquer davantage 😉OriginalL'auteur VISHMAY
Vous pouvez le faire simplement via
Vous pouvez le supprimer à l'aide de cette expression et de la remplacer par
|
.Voir la démo.
https://regex101.com/r/uF4oY4/81
OriginalL'auteur vks
Ici est une étape 2 solution: utilisez votre regex (avec
|
ajouté à la annulés classe de caractères) et\bAdmin\b
comme une alternative (dans votre regex, il n'était pas considérée comme une séquence de caractères, mais de caractère individuela
,d
...,\b
à l'intérieur d'une classe de caractères correspond à un retour arrière de symbole, pas une limite de mot) pour le remplacer par de|
et ensuite rejoindre la chaîne de retour:Résultat:
Mise à jour
Vous pouvez également remplacer tous avec un passage à l'aide de la regex suivante:
Voir démo
OriginalL'auteur Wiktor Stribiżew