回答
如果你坚持正则表达式:
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'));
哪个更有效?正则表达式或Linq? –
@Christlin Joseph:可能,* Linq *(在上下文中),因为它是直接的 –
使用LINQ:
string text = "Electronics and Communication Engineering";
var capitalLetters = text.Where(c => char.IsUpper(c)).ToArray();
Linq的解决方案Example is here:
扩展方法Where
将帮助您获得给定字符串的大写字母。您可以使用String.Join
或String.Concat
(如DmitryBychenko建议的那样更好),以获得字符串的最终输出。经过下面的代码片段
string inputStr = "Electronics and Communication Engineering";
string outputStr=String.Concat(inputStr.Where(x=>Char.IsUpper(x)));
Console.WriteLine(outputStr);
'string.Concat(value)'是String.Join的缩写版本' –
@DmitryBychenko:Waw真的很不错感谢您的建议 –
var s = "Electronics and Communication Engineering";
result = string.Concat(s.Select(c => char.IsUpper(c) ? c.ToString() : ""))
.TrimStart();
- 1. 正则表达式 - 在字符串中查找大写字
- 2. 在给定字符串中查找N大写字母的正则表达式
- 3. 正则表达式查找至少有一个大写字母的子字符串,只有字母
- 4. 正则表达式在字符串上查找字母数字
- 5. 如何查找字符串中的所有正则表达式?
- 6. 正则表达式,用于查找大写字母后跟小写字母
- 7. 正则表达式 - 字符串中查找所有出现
- 8. 正则表达式:找到字符串中的所有数字
- 9. 正则表达式查找字符串
- 10. 正则表达式只有字母一个大写字母
- 11. 用正则表达式查找大写字母不在句首
- 12. 正则表达式在字符串中查找字符串
- 13. 大写字母,2个特殊字符的正则表达式
- 14. 正则表达式查找字符串中的字符串中的字符串
- 15. 正则表达式的字符串只包含小写字母
- 16. 正则表达式匹配大写字母包围的字符串模式
- 17. Java的正则表达式大写字母和数字只有
- 18. 正则表达式为所有字母
- 19. 正则表达式字母数字字符串+特殊字母
- 20. 正则表达式:查找字符串中特定数字的所有出现
- 21. C#正则表达式首字母大写其余小写
- 22. c#正则表达式字符串中只有数字字符
- 23. 检测字符串中的所有大写字母
- 24. 正则表达式问题 - 查找字符串中的数字
- 25. 正则表达式查找在perl中包含至少两个大写字母的字符串
- 26. 字符串中最后2个括号之间的所有大写字母的正则表达式
- 27. 正则表达式找到%PHP内的所有子字符串
- 28. 正则表达式来排除所有字符,除了字母
- 29. 正则表达式的表达式对所有非字母数字符号
- 30. 正则表达式除字符串外的所有字符
很有意思!你可能想尝试一些东西。 – revo