如果单词之间有空格,我想拆分字符串。
例如:
"Blood Doner Jack Stv 240 o+"当我用一个空格拆分它时,它返回一个包含6个项目的数组对象,但如果我用相同的文本集尝试它,有2个空格代替一个空格,它会将数组增加到7:
"Blood Doner Jack Stv 240 o+"所以我想知道如何删除用双空格和单空格拆分它。
我知道我可以用2个空格代替1个空格来替换(),但是如果我有3到4个空格呢?
提前感谢!
发布于 2011-06-14 17:09:19
您可以使用overload of String.Split which takes a StringSplitOptions
string[] bits = text.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);请注意,为了避免在每次调用时创建字符数组,您可以使用:
private static readonly char[] SplitSeparators = {' '};
...
string[] bits = text.Split(SplitSeparators,
StringSplitOptions.RemoveEmptyEntries);发布于 2011-06-14 17:10:22
只需使用StringSplitOptions.RemoveEmptyEntries即可
var s = "Blood Doner Jack Stv 240 o+";
var arr = s.Split(new[] {" "}, StringSplitOptions.RemoveEmptyEntries);或者您可以使用Regexp将多个空格替换为一个空格,然后拆分:
string str = System.Text.RegularExpressions.RegEx.Replace(s ,@"\s+"," ");
var arr = str.Split(new[] {" "}, StringSplitOptions.None);发布于 2011-06-14 17:10:21
这将删除空格:
RegexOptions options = RegexOptions.None;
Regex regex = new Regex(@"[ ]{2,}", options);
tempo = regex.Replace(tempo, @" ");然后你就可以正常拆分了
https://stackoverflow.com/questions/6341360
复制相似问题