正则表达式从特定字符串中删除单词

Kev*_*uez 3 c# regex

我试图删除此字符串中的“管理员”字样

1H|\^&|||ARCHITECT^8.10^F3453010030^H1P1O1R1C1Q1L1|||Admin||||P|1|20150511083525
1D
Run Code Online (Sandbox Code Playgroud)

使用这个正则表达式

[^\w\b(Admin\])\b.-]+ 
Run Code Online (Sandbox Code Playgroud)

输出是 1H|ARCHITECT|8.10|F3453010030|H1P1O1R1C1Q1L1|Admin|P|1|20150511083525|1D

它不会删除管理员词。

所需的输出:

1H|ARCHITECT|8.10|F3453010030|H1P1O1R1C1Q1L1|P|1|20150511083525|1D

我需要帮助来改进正则表达式:(

Art*_*kov 5

此处不必使用正则表达式。您可以使用替换功能;

yourString.Replace("Admin|", string.Empty);
Run Code Online (Sandbox Code Playgroud)

如果使用正则表达式对您很重要 - 尝试这个变体:

Regex r = new Regex(@"\bAdmin|\b");
var output = r.Replace(s, string.Empty);
Run Code Online (Sandbox Code Playgroud)


Aru*_*ngh 5

基本上你的正则表达式应该是这样的

string input = @"1H|\^&|||ARCHITECT^8.10^F3453010030^H1P1O1R1C1Q1L1|||Admin||||P|1|20150511083525
    1D";
string pattern = @"([^\w]*Admin[^\w]*)+|[|\\^&\r\n]+";
string replacement = "|";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Run Code Online (Sandbox Code Playgroud)