我的字符串a充满了小写字母。我尝试使用以下表达式将小写替换为大写但是它不能正常工作。如何在字符串a?
中将小写字母转换为大写字母using System.Text.RegularExpressions;
string a = "pieter was a small boy";
a = Regex.Replace(a, @"\B[A-Z]", m => " " + m.ToString().ToUpper());
答案 0 :(得分:8)
这里有两个问题:
\b
而不是\B
。有关详细信息,请参阅此question。[A-Z]
),因此您需要使用RegexOptions.IgnoreCase
来使代码正常工作。string a = "pieter was a small boy";
var regex = new Regex(@"\b[A-Z]", RegexOptions.IgnoreCase);
a = regex.Replace(a, m=>m.ToString().ToUpper());
上述代码的输出是:
Pieter Was A Small Boy
答案 1 :(得分:0)
如果您尝试将字符串中的所有字符转换为大写字母,那么只需执行string.ToUpper()
string upperCasea = a.ToUpper();
如果您想进行不区分大小写的替换,请使用Regex.Replace Method (String, String, MatchEvaluator, RegexOptions)
:
a = Regex.Replace(a,
@"\b[A-Z]",
m => " " + m.ToString().ToUpper(),
RegexOptions.IgnoreCase);
答案 2 :(得分:0)
答案 3 :(得分:-1)
Regex.Replace(inputStr, @"[^a-zA-Z0-9_\\]", "").ToUpperInvariant();
答案 4 :(得分:-1)
它适用于你:
string a = "pieter was a small boy";
a = a.ToUpper();