将'['8个字符']'替换为空白

时间:2013-03-05 07:37:54

标签: c# .net regex

我正在尝试用常规的探索替换字符串中的某些东西,但它没有用完。

我正在尝试替换任何 [ ,然后是 8 字符并以 ] 结尾

e.g。 将 [F2283D02] 替换为空格

5 个答案:

答案 0 :(得分:3)

我认为你正在看十六进制字符串 所以,你的正则表达式将是

\[[0-9A-F]{8}\]
^            ^ escapes required as [ and ] are regex-metacharacters

答案 1 :(得分:2)

string result = Regex.Replace(input, @"\[[^\]]{8}\]", "");

[寻找开场'['

[^]] {8}查找8个不是']'的连续字符

]寻找结束']'

答案 2 :(得分:1)

 string input = "Replace [fbzdkdf] with empty";
 input = Regex.Replace(input, @"\[\w{8}\]","");
 Console.WriteLine(input);

输出:替换为空

解释

[:反斜杠在正则表达式中逃脱了肉体特征 \ w {8} :匹配任意8个字符 ] :逃脱元字符]

  • 转义意味着关闭下一个字符的特殊含义。 向后斜杠可以逃脱。



别忘了使用

using System.Text.RegularExpressions;

答案 3 :(得分:0)

尝试以下表达式:

@"\[([a-zA-Z0-9]{8})\]"

请参阅sandbox

答案 4 :(得分:0)

你有什么尝试?你试过dis:

(?<=\[).{8}(?=\])

有些人解释说:

.{8} - 任意类型的八个字符

(?<=\[)(?=\]) - 我们查找用'[]'包围的字符,但我们不需要找到括号本身,只需要知道这些字符是否在括号中

Rubular