我有一个全小写的字符串 a 。我尝试使用以下表达式将小写字母替换为大写字母,但它无法按我的意愿工作。如何将字符串a中的小写字母变成大写字母?
using System.Text.RegularExpressions;
string a = "pieter was a small boy";
a = Regex.Replace(a, @"\B[A-Z]", m => " " + m.ToString().ToUpper());
你在这里有两个问题:
\b
而不是\B
. 有关更多信息,请参阅此问题。[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
如果您尝试将字符串中的所有字符转换为大写,那么只需执行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);
Regex.Replace(inputStr, @"[^a-zA-Z0-9_\\]", "").ToUpperInvariant();
它对你很好:
string a = "pieter was a small boy";
a = a.ToUpper();