"\n \n Expected:\n \n \n Q4\n \n \n 2011\n \n "
从该字符串中,我需要获得以下内容:
"Expected Q4 2011"
我尝试过以下操作,没有骰子:
myString.Trim().Replace("\n", "");
我得到以下内容(大量的空白是故意的,而不是网站格式化问题。实际上是返回的内容。)
"Expected: Q4 2011"
答案 0 :(得分:10)
用一个空格替换所有空格块:
myString = Regex.Replace(myString, @"\s+", " ").Trim();
答案 1 :(得分:7)
有几种方法可以做到这一点,但这里有一个简短的方法:
string foo = "\n \n Expected:\n \n \n Q4\n \n \n 2011\n \n ";
string[] foos = foo.Split(new char[] { ' ', '\n' },
StringSplitOptions.RemoveEmptyEntries);
string bar = string.Join(" ", foos);
答案 2 :(得分:0)
尝试
var partsSplitByWhitespace = myString.Split(new[] {' ', '\n'},
StringSplitOptions.RemoveEmptyEntries);
var combinedStringAgain = string.Join(" ", partsSplitByWhitespace);
var result = combinedStringAgain.Trim();
假设您确定空格实际上是空格字符。
答案 3 :(得分:0)
如果可以公平地说您希望删除所有非字母数字字符(空格,标点符号和符号字符),则可以使用以下正则表达式:
string output = Regex.Replace(@"[\W_]+", myString, " ");
\W
是\w
的倒数,它匹配所有字母数字(0-9,a-z,A-Z)和下划线。