C# 如何使用正则表达式将小写替换为大写?
我有一个小写的字符串a。我尝试使用下面的表达式将小写替换为大写,但它不能按我所希望的那样工作。如何将字符串a中的小写转换为大写C# 如何使用正则表达式将小写替换为大写?,c#,regex,C#,Regex,我有一个小写的字符串a。我尝试使用下面的表达式将小写替换为大写,但它不能按我所希望的那样工作。如何将字符串a中的小写转换为大写 using System.Text.RegularExpressions; string a = "pieter was a small boy"; a = Regex.Replace(a, @"\B[A-Z]", m => " " + m.ToString().ToUpper()); 如果您试图将字符串中的所有字符转换为大写,那么只需执行以下操作 如果要执行
using System.Text.RegularExpressions;
string a = "pieter was a small boy";
a = Regex.Replace(a, @"\B[A-Z]", m => " " + m.ToString().ToUpper());
如果您试图将字符串中的所有字符转换为大写,那么只需执行以下操作 如果要执行不区分大小写的替换,请使用:
根据需要使用正则表达式
a = Regex.Replace(a, @"\b[a-z]", m => m.ToString().ToUpper());
它对您很好:
string a = "pieter was a small boy";
a = a.ToUpper();
这里有两个问题:
\b
而不是\b
。有关更多信息,请参见此[A-Z]
),所以您需要使用RegexOptions.IgnoreCase
使代码正常工作上述代码的输出为:
Pieter Was A Small Boy
a.ToUpper()
还不够吗???你想做什么?将整个字符串转换为大写?我认为OP已经完成了这项工作,并且无法反转ToUpper()
的解决方案。a.ToUpper()可以解决这个问题。我猜所有因为“a.ToUpper()还不够?”而投了否决票的人都需要在这里发布的用例之外打开他们的思路。我是从Google来写这篇文章的,因为我正在编写一个源代码转换实用程序,我需要一个正则表达式来查找声明,然后是属性访问器,然后是后面的第一个字符和大写字母。不,ToUpper不够好。正则表达式也增加了空间。这不是OP想要的删除了空间,现在可以了吗@cthul您也需要将\B
更改为\B
。这并不能回答问题。他特别要求提供正则表达式的用例。我认为这会自然而然地意味着他想兜售一个俘虏小组,或者至少是一些与regex有关的东西。“两个问题”嘿嘿
Regex.Replace(inputStr, @"[^a-zA-Z0-9_\\]", "").ToUpperInvariant();
string a = "pieter was a small boy";
a = a.ToUpper();
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