Regex.Replace c#删除保留字符

时间:2014-12-11 21:49:47

标签: regex

一天结束脑超负荷...... 我试图删除一些保留的字符,而我的逃脱似乎并不正确。

["word"]必须为word

这是我尝试用来剥离[]"但它无法正常工作的内容......

Regex.Replace (s, "[\"\\[\\]]", "");

2 个答案:

答案 0 :(得分:1)

你的正则表达式工作正常。

确保分配结果:

string result = Regex.Replace (s, "[\"\\[\\]]", "");

ideone demo

请注意,您正在从文本中删除所有"[]。如果您想以更严格的方式匹配主题,可以使用类似于:

的内容
string result = Regex.Replace (s, "\\[\"(.*?)\"\\]", "$1");

ideone demo

正则表达式匹配:

  • \\[\"文字["
  • (.*?)在第1组中捕获的任何文本,尽可能少重复(因为括号)
  • \"\\]文字"]

并将匹配替换为:

  • $1对第1组捕获的文本的反向引用

答案 1 :(得分:0)

你可以这样做:

string str = @"[""word""]";

string newStr = Regex.Replace(str, @"[^a-zA-Z_0-9]", "");

Console.WriteLine(newStr); // word