嗨,我已经在这个问题上闲逛了一段时间了,我想是时候寻求帮助了......
我试图从古怪的字符串中返回长度超过 5 个字符的所有大写字符(非数字或特殊字符短语)序列。
因此:
02/02/12-02:45 PM(CKI)-DISC RSPNS SRVD 01/31/12-PRINTED DISCOVERY:spina.bp.doc(DGB)
01/27/12-ON CAL-FILED NOTICE OF TRIAL(JCX) 01/24/12-SENT OUR DEMANDS(Auto-Gen) 01/23/12-
02:31 PM-File pulled and given to KG for responses.(JLS) 01/20/12(PC)-rcd df jmt af
我想返回一个列表
DISC RSPNS SRVD
打印发现
提交审判通知
发送我们的要求
我一直在玩弄以下的变体:
[A-Z][A-Z\d]+
[A-Z][A-Z\d]+ [A-Z][A-Z\d]+"
但是,这有点超出了我对正则表达式的了解范围。
编辑
我正在努力
string[] capWords = Regex.Split(d.caption, @"[A-Z\s]{5,}");
foreach (var u in capWords) { Console.WriteLine(u); }
输出:
02/02/12-02:45 PM(CKI)- 2012年1月31日-
:spina.bp.doc(DGB) 01/27/12-
(JCX)2012年1月24日- (自动生成)01/23/12-02:31 PM-文件已拉出并交给 KG 进行响应。(JLS) 01/20/12(PC)-rcd df jmt af
肯德尔的建议输出:
02/02/12-02:45 PM(CKI)- 2012年1月31日-
:spina.bp.doc(DGB) 01/27/12-
(JCX)2012年1月24日- (自动生成)01/23/12-02:31 PM-文件已拉出并交给 KG 进行响应。(JLS) 01/20/12(PC)-rcd df jmt af
最佳答案
给你:
[A-Z]{5,}
已测试并仅返回您列出的项目。
说明:
[A-Z\s]
- 仅匹配大写字母和空格
{5,}
- 匹配项必须至少有 5 个字符,字符数没有上限
代码:
MatchCollection matches = Regex.Matches(d.caption, @"[A-Z\s]{5,}");
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
关于c# - REGEX 返回字符串中所有大写短语的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10453177/