我试图删除此字符串中的“管理员”字样
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
我需要帮助来改进正则表达式:(
此处不必使用正则表达式。您可以使用替换功能;
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)
基本上你的正则表达式应该是这样的
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)