[英]Replace two or more spaces with Regex in C#
我对Regex的东西太可怕了。 我想在C#中使用正则表达式将任意两个或更多空格转换为不间断空格。 我想单独留下单个空格。
Sample Sample
会生产
Sample Sample
但
Sample Sample
不会受到影响。
有任何想法吗?
提前致谢。
您可以使用MatchEvaluator
作为替换参数。 在C#3.0或更新版本中,您可以使用lambda函数:
s = Regex.Replace(s, " {2,}", x => x.Value.Replace(" ", " "));
它基于零宽度正向前瞻和后观断言。
var rx = new Regex(" (?= )|(?<= ) ");
var str = "ab cde f";
var res = rx.Replace(str, " ");
// res == ab cde f
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.