我面臨正則表達式分割問題。C#正則表達式按分隔符分割
這裏是我的模式
string[] words = Regex.Split(line, "[\\s,.;:/?!()\\-]+");
這是文本文件:
ir KAS gi mus nugales.
jei! mes MIRTI NEBIJOM,
JEIGU mes nugalejom mirti
DZUKAS
而且我有個任務找上最後一句話,這裏是代碼:
z = words.LastOrDefault(c => c.All(ch => char.IsUpper(ch)));
當行尾是某種分隔符時,它不會打印z
。當沒有分隔符(第3行,第4行)時,一切都很順利..
爲什麼會發生?
您目前的代碼應該輸出'DZUKAS',對吧?你的意思是什麼分隔符?另外,爲什麼不用'\ W +'分割,或者僅僅匹配'\ p {Lu} +'並且獲得最後的匹配? –
@WiktorStribiżew我需要在每行中以大寫字母查找單詞。 DZUKAS就是其中之一,就像KAS(第一線),MIRTI(第二) – Martin
見https://ideone.com/lJQHaO –