字符串我對C#字符串: string buf = "\r\n \r\n \r\n 103E\r\n \r\n \r\n \r\n \r\n \r\ntest1 \r\n \r\n \r\n test2\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n x16\r\n \r\n"
正則表達式在C#
我想要得到的字符串
1. 103E
2. test1
3. test2
4. 16
如何使用正則表達式來做到這一點。
字符串我對C#字符串: string buf = "\r\n \r\n \r\n 103E\r\n \r\n \r\n \r\n \r\n \r\ntest1 \r\n \r\n \r\n test2\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n x16\r\n \r\n"
正則表達式在C#
我想要得到的字符串
1. 103E
2. test1
3. test2
4. 16
如何使用正則表達式來做到這一點。
\S+
將匹配一個或多個非空白字符。這應該讓你開始。
來源:http://www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet
「 」現在不適用嗎? –
@亨克「這應該讓你開始。」 –
試試這個:
var separator = new string[] { "\r", "\n", " ", " " };
var result = buf.Split(separator, StringSplitOptions.RemoveEmptyEntries);
// result == { "103E", "test1", "test2", "x16" }
需要注意的是,如果你的輸入是任意的HTML,你應該使用一個HTML解析器。
x16不是正確的結果。 –
@亨克霍爾特曼:我敢打賭,這個問題的作者對「16」錯了,希望他能儘快澄清這一點 – sll
什麼讓x16中的'x'無效? –
@亨克Holterman同意,更好的解釋之前需要什麼比我的回答是可能的 –
你確定你需要正則表達式嗎?在這種簡單的情況下,這是一個代價高昂的操作,請考慮定期更換字符串 –