回答
如果你坚持正则表达式:
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. Javascript正则表达式找到所有的大写字母
- 4. 查找字符串中的所有字母与正则表达式
- 5. 正则表达式:在特定字符串后查找大写字母
- 6. 正则表达式在字符串上查找字母数字
- 7. 只允许首字母大写字符串(正则表达式)
- 8. C#正则表达式查找字符串的字符串
- 9. 如何查找字符串中的所有正则表达式?
- 10. 正则表达式,用于查找大写字母后跟小写字母
- 11. 正则表达式 - 字符串中查找所有出现
- 12. 正则表达式:找到字符串中的所有数字
- 13. 正则表达式查找字符串
- 14. 正则表达式只有字母一个大写字母
- 15. 正则表达式查找字符串中的字符串
- 16. 正则表达式来查找字符串中的字母数字模式
- 17. 正则表达式C++删除所有非字母字符
- 18. 用正则表达式查找大写字母不在句首
- 19. PHP正则表达式查找所有大写的串词
- 20. 正则表达式匹配的字符串,只有一个大写字母
- 21. 正则表达式在字符串中查找字符串
- 22. 大写字母,2个特殊字符的正则表达式
- 23. 正则表达式查找字符串中的字符串中的字符串
- 24. 正则表达式的字符串只包含小写字母
- 25. Java的正则表达式大写字母和数字只有
- 26. 正则表达式匹配大写字母包围的字符串模式
- 27. 正则表达式为所有字母
- 28. 正则表达式,在字符串中查找表达式。
- 29. 正则表达式字母数字字符串+特殊字母
- 30. 正则表达式:查找字符串中特定数字的所有出现
很有意思!你可能想尝试一些东西。 – revo