[英]How to split string preserving spaces and any number of \n characters
我想使用以下規則拆分字符串並創建一個集合:字符串應拆分為單詞。
1)如果字符串包含“ \\ n”,則應將其視為單獨的“ \\ n”單詞。
2)如果字符串包含多個'\\ n',則應將其視為比'\\ n'單詞更多的字符串。
3)字符串中不能有空格。 唯一的例外是,如果空格位於兩個\\ n之間,則可以忽略。
PS:我做了很多嘗試,使用字符串拆分,首先是拆分\\ n字符,然后創建了一個集合,不利的是,如果我連續有兩個\\ n,則無法在該集合中創建兩個偽單詞。 任何幫助將不勝感激。
反正有使用正則表達式來做到這一點?
看起來像作業。 因此,請閱讀\\b
。
應該為您設定正確的方向。
用這樣的正則表達式拆分:
(?<=[\S\n])(?=\s)
就像是:
var substrings = Regex.Split(input, @"(?<=[\S\n])(?=\s)");
這根本不會刪除任何空格,但這不是必需的,所以應該沒問題。
如果您確實希望刪除\\n
之間的空格,則可以使用類似以下內容進行拆分:
(?<=[\S\n])(?=\s)(?:[ \t]+(?=\n))?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.