我想解析一個字符串,並由一些分隔符分割它,還包括分隔符。如何根據其內容拆分字符串?
例如,從字符串if(a>b) write(a);
我想if
,(
,a
,>
,b
,)
,write
,(
,a
,)
,;
這裏是我試過:
string pattern = "(" + String.Join("|", delimiters.Select(d =>Regex.Escape(d)).ToList()) + ")";
List<string> result = Regex.Split(line, pattern).ToList();
它的工作,但它在某些情況下失敗。如果我有字符串if(a>0) write("it is positive");
我不想得到"it
,is
,positive"
(因爲空格是分隔符),但是"it is positive"
。我怎樣才能做到這一點?
你只是想匹配C-字符串?這是一個解決的問題,在這裏有很多這樣的問題。嘗試添加['@「」「[^」「\\] *(?:\\。[^」「\\] *)*」「」'](http://regexstorm.net/tester?p= %22%圖5b%5E%22%5C%5C%5D *(%3F%3A%5C%5c所示。%圖5b%5E%22%5C%5C%5D *)*%22 I =%22some%5cnstring%22) 。 –
不僅可以匹配,還可以拆分字符串。 – user1012732
http://stackoverflow.com/questions/2484919/how-do-i-split-a-string-by-strings-and-include-the-delimiters-using-net –