C# - 用下划线和字母替换每个大写字母

标签 c# .net regex string

如何用下划线和C#中的字母替换每个大写字母? 注意:除非字符前面已经有下划线。

更新: 例如, 麦克琼斯
会变成
麦克_琼斯

但是麦克_琼斯
不会变成
迈克__琼斯

正则表达式是最好的方法吗?我从哪里开始呢?

最佳答案

正则表达式听起来最好:

string input = "Test_StringForYou";
string replaced = Regex.Replace(input, @"(?<!_)([A-Z])", "_$1");
Console.WriteLine(replaced);

输出:_Test_String_For_You

一定要添加using System.Text.RegularExpressions;

关于C# - 用下划线和字母替换每个大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403621/

相关文章:

C# 编译器 + 带装箱的通用代码 + 约束

c# - 计算具有步长的图表的轴刻度

php - 如何使用 preg_replace() 将 hilight_string() 应用于类似 BBCode 标签之间的内容?

c# - Azure Cosmos 数据库集合未获取分区键

c# - 将泛型委托(delegate)转换为具有接口(interface)的另一种类型

c# - Telerik 的 RadLayoutControl 的宽度问题

regex - gsub 速度与图案长度

python - 如何在Python中使用RE组替换字符串?

c# - RegisterStartupScript 和 RegisterClientScriptBlock 的区别?

c# - 陈旧元素引用异常 c# Selenium Webdriver