喜歡的東西:How to split String with some separator but without removing that separator in Java?按空格拆分字符串而不刪除空格?
我需要的 「Hello World」,並得到[ 「你好」, 「」, 「世界」]
喜歡的東西:How to split String with some separator but without removing that separator in Java?按空格拆分字符串而不刪除空格?
我需要的 「Hello World」,並得到[ 「你好」, 「」, 「世界」]
您可以使用正則表達式,儘管它可能是矯枉過正:
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();
}
如果你只是分開邊界,你會得到非常接近你要求的東西。
string[] arr = Regex.Split("A quick brown fox.", "\\b");
ARR [] = { 「」, 「A」, 「」, 「快」, 「」, 「褐色」, 「」, 「狐狸」, 「」 }
除了'string.Split()'不適用於正則表達式。 – svick
是的,我在描述的第一行看到了對Java的引用,並忽略了C#的標籤。 – phatfingers
我修改了用C#編寫的示例代碼。數組結果是相同的。 – phatfingers
+1爲優雅的解決方案。爲什麼他沒有把你的答案標記爲正確的...... –
爲什麼?你爲什麼不能假設每兩個元素之間有一個空間? – SLaks
爲什麼?你知道分隔符是一個空格,所以對於結果數組的每個元素,在連續元素之間會有一個空格。如果你使用string.Join(),你可以把空間放回去。我很困惑你爲什麼在分割結果中需要它。 – slugster
如果你好和世界被不止一個空間隔開,你會想要回來什麼? –