![](/img/trans.png)
[英]How do I UrlEncode a group match value using Regex.Replace in C#
[英]how to replace group value using regex in c# .net
我有一个像
string s= "I WAS born in AMERICA on december 1978.";
现在我想使用正则表达式将12 月转换为12月
我在下面使用了不完整的正则表达式
s=Regex.Replace(s,(january|february|march|April|may|june|july|august|september|October|november|December),CultreInfo.InvariantCulture.TextInfo.ToTitleCase(?????),RegexOption.IgnoreCase);
我必须在这里写什么(?????),这样我才能得到以下输出
s= "I WAS born in AMERICA on December 1978.";
我还有其他方法可以申请吗?
查看regex.replace
文档,我注意到您必须使用回调函数。
所以写一个函数:
function CustomReplace( Match m ) {
return CultreInfo.InvariantCulture.TextInfo.ToTitleCase(m.Groups[1].Value)
}
并将其作为第三个参数传递:
s = Regex.Replace(
s,
"(january|february|march|April|may|june|july|august|september|October|november|December)",
CustomReplace,
RegexOption.IgnoreCase
);
使用命名的捕获和内联MatchEvaluator :
string s = "I WAS born in AMERICA on december 1978.";
s = Regex.Replace(
s,
"(?<months>january|february|march|April|may|june|july|august|september|October|november|December)",
new MatchEvaluator(
match => CultureInfo
.InvariantCulture
.TextInfo
.ToTitleCase(match.Groups["months"].Value)
),
RegexOptions.IgnoreCase
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.