【发布时间】:2020-05-29 10:06:26
【问题描述】:
我只想保留Regex.Split() 的匹配模式并丢弃其他文本。
示例
假设我只想打印文本中的大写单词。
Console.WriteLine("Give input");
string input = Console.ReadLine();
string pattern = @"([A-Z]{2,})";
string[] words = Regex.Split(input, pattern);
foreach (var w in words)
Console.WriteLine(w)
键入 MY_NAME_IS_george_WHATS_YOUR_NAME 提供如下输出。
Type an identifier
MY_NAME_IS_george_WHATS_YOUR_NAME
MY
_
NAME
_
IS
_george_
WHATS
_
YOUR
_
NAME
Type an identifier
如您所见,拆分后的数组包含与模式不匹配的字符串。如何避免打印正则表达式不匹配的文本?
【问题讨论】:
-
使用 Regex.Match 并从匹配中检索组。
-
也许你的意思是
Regex.Matches -
如果Stefano的回答解决了问题,能否请您采纳,谢谢!