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

Chr*_*eer 5 .net c# regex string

我需要找到所有大写字母string。例如

输入Electronics and Communication Engineering

输出ECE

Dmi*_*nko 9

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

 string source = @"Electronics and Communication Engineering";

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

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

 string result = string.Concat(source.Where(c => c >= 'A' && c <= 'Z'));
Run Code Online (Sandbox Code Playgroud)

  • @Christlin Joseph:可能是* Linq *(在上下文中),因为它是直接的 (2认同)

suj*_*lil 8

Linq 解决方案示例在这里

扩展方法Where将帮助您从给定的字符串中获取大写字母。您可以使用String.Joinor String.Concat(更好,如DmitryBychenko所建议的那样)将最终输出作为字符串获取。通过以下代码段

string inputStr = "Electronics and Communication Engineering";
string outputStr=String.Concat(inputStr.Where(x=>Char.IsUpper(x)));
Console.WriteLine(outputStr);
Run Code Online (Sandbox Code Playgroud)