用空格拆分字符串而不删除空格?

时间:2011-11-20 03:12:43

标签: c# string split

类似于:How to split String with some separator but without removing that separator in Java?

我需要拿“Hello World”并获得[“Hello”,“”,“World”]

3 个答案:

答案 0 :(得分:16)

您可以使用Regex.Split()。如果将模式括在捕获括号中,它也将包含在结果中:

Regex.Split("Hello World", "( )")

准确地告诉你你想要的东西。

答案 1 :(得分:1)

你可以使用正则表达式,虽然它可能是一种过度杀伤力:

StringCollection resultList = new StringCollection();
Regex regexObj = new Regex(@"(?:\b\w+\b|\s)");
Match matchResult = regexObj.Match(subjectString);
while (matchResult.Success) {
    resultList.Add(matchResult.Value);
    matchResult = matchResult.NextMatch();
} 

答案 2 :(得分:1)

如果你只分开单词边界,你会得到一些非常接近你要求的东西。

    string[] arr = Regex.Split("A quick brown fox.", "\\b");

arr [] = {“”,“A”,“”,“quick”,“”,“brown”,“”,“fox”,“。” }