我有这个简单的代码:
Regex remove2 = new Regex("[(\"{}\r)]");
str = remove2.Replace(str, "");
我需要删除:[
和]
字符,怎么做?
当我只是在它[]
之间添加""
它不起作用。
这个简单的代码将删除方括号:
string str1 = "test=[[]]][[]";
string res = Regex.Replace(str1, "[][]","");
If you're adding brackets — specifically a ]
— to the set matched in the RE, you've got to be careful about where you put it; it must be the first character in the set (which works because you're not allowed to make an empty set). So…</p>
Regex remove2 = new Regex("[][(\"{}\r)]")
您需要转义 [ 和 ] 字符 - 尝试
Regex remove2 = new Regex("\[(.*)\]");
str = remove2.Replace(str, "$1");
通过将部分模式包装在括号内,您实际上是将其保存以供以后使用。可以通过替换命令中的构造 $1 访问它。如果您在括号内捕获了第二个字符串,它将通过 $2 等访问。
没有正则表达式,但也删除了括号:
str = new string(str.Where(c => !"[]".Contains(c)).ToArray());