我需要一個正則表達式,可以使用它檢查字符串並在.NET中執行RegEx.Split()時返回特定項目。我一直試圖自己做這件事,但我永遠無法得到我需要的東西,而結果從來沒有任何意義。顯然,我沒有很好的寫正則表達式的手段。在.NET中使用正則表達式拆分字符串
因此,這裏的字符串...
"%date - %-5level - [%thread] - %logger - %message - %exception%newline"
我基本上是想返回一個數組,如下所示:
"date"
"-5level"
"thread"
"logger"
"message"
"exception"
"newline"
下面的代碼是接近,但並不完全。
Regex exp = new Regex(@"\W+");
string[] s = exp.Split(@"%date - %-5level - [%thread] - %logger - %message - %exception%newline");
我得到如下:
""
"date"
"5level"
"thread"
"logger"
"message"
"exception"
"newline"
出於某種原因,我有一個空字符串作爲第一指標,以及第三索引缺少「 - 」。我假設,因爲它不是一個「單詞」的一部分。
的 「 - 」 一邊一段時間,然後我想分裂 「5level」 到數組:
"5"
"level"
我嘗試了這一點:
Regex exp2 = new Regex(@"(\d+)([a-zA-Z]+)");
string[] s2 = exp2.Split("5level");
但是,它返回2個索引除了我想要的拆分項目之外還有空字符串:
""
"5"
"level"
""
我對如何格式化表達式給我什麼我需要。任何幫助,將不勝感激。
你會很有禮貌地學習如何正確使用降價,以便其他人不必重新格式化你的帖子。看看下面的內容:http://stackoverflow.com/editing-help – spender 2011-06-01 19:53:45
感謝您的建議。這是我第一次發佈,我將在未來的帖子中記住這一點。 – Scott 2011-06-01 20:21:43
好東西...;) – spender 2011-06-01 23:52:00