我有一堆文本,并在该文本中,我想要替换每个“EXAMPLE”字不包含a-z
或A-Z
字符在它之前..所以像“[^a-z]EXAMPLE
”.. 但是,当删除我只是想删除“榜样”,而不是在它的前面或后面的任何字符的字符杂项...C#regual表达式需要
所以在“BLABLAEXAMPLBLA EXAMPLEBLA”我要输出“BLABLAEXAMPLBLA BLA”
我希望这是明智的:)
谢谢你的y我们的时间!
我有一堆文本,并在该文本中,我想要替换每个“EXAMPLE”字不包含a-z
或A-Z
字符在它之前..所以像“[^a-z]EXAMPLE
”.. 但是,当删除我只是想删除“榜样”,而不是在它的前面或后面的任何字符的字符杂项...C#regual表达式需要
所以在“BLABLAEXAMPLBLA EXAMPLEBLA”我要输出“BLABLAEXAMPLBLA BLA”
我希望这是明智的:)
谢谢你的y我们的时间!
可以使用negative lookbehind实现这一目标:
string cleanString = Regex.Replace(originalString, "(?<![a-zA-Z])EXAMPLE", "");
您还可以使用匹配评估。我觉得更有弹性,但也更复杂...
var regex = new Regex("[^a-z](?<a>EXAMPLE)");
var text = "BLABLAEXAMPLBLA EXAMPLEBLA";
MatchEvaluator evaluator = RemoveExample;
text = regex.Replace(text, evaluator);
...
private static string RemoveExample(Match m)
{
return m.Value.Replace(m.Groups["a"].Value, "");
}
做了伎俩..将被接受为在T - 5分钟:) anwser! TNX! – Andrej 2011-05-26 09:10:36