正则表达式删除第一个单词并使用 c# 将第二个单词的第一个字符大写
Posted
技术标签:
【中文标题】正则表达式删除第一个单词并使用 c# 将第二个单词的第一个字符大写【英文标题】:Regex to remove first word and capitalize the first char of the second with c# 【发布时间】:2021-11-27 16:47:35 【问题描述】:我需要从短语中删除第一个特定单词(例如 Write)并返回剩余的单词,第一个大写。
把你的信写在沙子里=>你的信在沙子里
我用这个代码
var test = Regex.Replace("Write your letter in the sand", "(^Write )(.)", "$2");
我明白了
test == "your letter in the sand"
但我不知道如何将第二个捕获的组大写
【问题讨论】:
【参考方案1】:你可以使用
var text = "Write your letter in the sand";
var test = Regex.Replace(text, @"^\w+\W+(\w)", x => x.Groups[1].Value.ToUpper());
请参阅C# demo。
这里,^\w+\W+(\w)
匹配
^
- 字符串开头
\w+
- 一个或多个单词字符
\W+
- 一个或多个非单词字符
(\w)
- 第 1 组:一个单词字符。
x => x.Groups[1].Value.ToUpper()
lambda 表达式将 Group 1 值(第二个单词的第一个字符)转换为大写后将其放回到结果字符串中以代替匹配的文本。
【讨论】:
以上是关于正则表达式删除第一个单词并使用 c# 将第二个单词的第一个字符大写的主要内容,如果未能解决你的问题,请参考以下文章
如何使用正则表达式(或 C# 函数)在一个变量中剪切 TEXT MESSAGE 并从此文本中剪切第二个变量 USERNAME?