c# - 查找字符串中的所有大写字母 - 正则表达式 C#

标签 c# .net regex string

<分区>

我需要找到字符串中的所有大写字母。例如

输入:电子与通信工程

输出:ECE

最佳答案

如果您坚持使用正则表达式:

 string source = @"Electronics and Communication Engineering";

 string result = string.Concat(Regex
   .Matches(source, "[A-Z]")
   .OfType<Match>()
   .Select(match => match.Value));

Linq 是一个(更短的)替代方案:

 string result = string.Concat(source.Where(c => c >= 'A' && c <= 'Z'));

编辑:如果“大写字母”包括所有 Unicode 大写字母,不仅是英语,还有俄语字母,正则表达式将使用不同的模式

 string result = string.Concat(Regex
   .Matches(source, @"\p{Lu}")
   .OfType<Match>()
   .Select(match => match.Value));

Linq解决方案将使用不同的条件:

 string result = string.Concat(source.Where(c => char.IsUpper(c)));

关于c# - 查找字符串中的所有大写字母 - 正则表达式 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44363153/

相关文章:

c# - 如何为 PdfPTable 设置宽度并在页面中对齐表格中心

C# 从数据库加载并外推到对象的速度缓慢

c# - 如何知道一条线是否与矩形相交

c# - 如何检查 var 的空值?

.net - Regex.IsMatch 与 string.Contains

c# - 除了我自己的客户端代码之外,如何防止访问 URL?

c# - 无法使用 C# 和 SSH.NET 从 Windows 运行 Unix 服务器中的用户脚本

java - 替换字符串的最后一部分

C# 正则表达式模式帮助

c# - 同一项目的两个设置(visual studio 2008,c#)