繁体   English   中英

用C#和正则表达式替换模式之间的char

[英]replace char between pattern with c# and regex

我正在尝试使用RegEx改进代码。 基本上,我有一些模式,我需要用大写形式替换为相同的模式。

例如:

“。一种。”

“。一种。”

另一种模式

“'一种”

“'一种”

我对regex有所了解,但我不知道要替换为大写形式的相同内容。

正如Cyral所说:

var str = "hello.a.world";
str = Regex.Replace(str, @'\.[a-z]\.', x => x.Value.ToUpper());
//str == "hello.A.world"

本教程是.NET正则表达式引擎和一般正则表达式的很好的参考。

Expresso是一个很棒的工具,在使用正则表达式时我经常使用它。 它将阐明正则表达式的功能,并允许您在示例文本上对其进行测试。 它还使用与.NET相同的正则表达式引擎,因此,如果您的表达式在Expresso中可用,它将在C#中起作用。

编辑:明确地说,Cyral的答案是正确的,我只是想确保将这些链接添加到页面上,因为它们非常有帮助。

您不需要使用正则表达式,只需使用String.ToUpper

string str = ".a.";
str = str.ToUpper();

编辑:要仅从模式中替换,请在匹配项上运行一个函数:(其中[az]是您自己的正则表达式)

str = Regex.Replace(str, @"[a-z]", s => s.Value.ToUpper());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM