我有一个如下字符串:
var text = @"Some text/othertext/ yet more text /last of the text";
我想规范化每个斜杠周围的空格,使其与以下内容匹配:
var text = @"Some text / othertext / yet more text / last of the text";
也就是说,每个斜杠前面有一个空格,后面有一个空格。如何使用Humanizer执行此操作,或者使用单个正则表达式? Humanizer是首选解决方案。
我可以使用以下对的正则表达式执行此操作:
var regexLeft = new Regex(@"\S/"); // \S matches non-whitespace
var regexRight = new Regex(@"/\S");
var newVal = regexLeft.Replace(text, m => m.Value[0] + " /");
newVal = regexRight.Replace(newVal, m => "/ " + m.Value[1]);
答案 0 :(得分:5)
你在找这个:
var text = @"Some text/othertext/ yet more text /last of the text";
// Some text / othertext / yet more text / last of the text
string result = Regex.Replace(text, @"\s*/\s*", " / ");
由零或多个空格包围的斜杠,由斜线替换为正好一个空格。