C# 如何用正则表达式替换下划线前的两个字符?

C# 如何用正则表达式替换下划线前的两个字符?,c#,regex,replace,C#,Regex,Replace,我有一个字符串示例: HU_husnummer HU_Adrs 我怎样才能取代胡?和米 因此,这将是MI_Husnumer和MI_Adrs 我不太擅长正则表达式,但我想用正则表达式解决它 编辑: 我现在拥有的示例代码仍然不起作用: string test = Regex.Replace("[HU_husnummer] int NOT NULL","^HU","MI"); 链接 使用子字符串 var abc = "HU_husnummer"; var result = "MI" + abc.

我有一个字符串示例:

HU_husnummer
HU_Adrs
我怎样才能取代胡?和米

因此,这将是MI_Husnumer和MI_Adrs

我不太擅长正则表达式,但我想用正则表达式解决它

编辑:

我现在拥有的示例代码仍然不起作用:

string test = Regex.Replace("[HU_husnummer] int NOT NULL","^HU","MI");
链接

使用子字符串

var abc = "HU_husnummer";
var result = "MI" + abc.Substring(2);
替换为正则表达式

string result = Regex.Replace(abc, "^HU", "MI");

从你的评论来看,你实际上需要

string test = Regex.Replace("[HU_husnummer] int NOT NULL",@"^\[HU","[MI");
看一看这本书

如果输入字符串真的以HU开头,请从正则表达式模式中删除\[字符

正则表达式是@^\[HU注意正则表达式模式使用的逐字字符串文字符号:

^-匹配字符串的开头 \[-匹配文本,因为它是表示字符类开头的特殊正则表达式元字符 胡-符合胡的字面意思。
你的字符串在字符前总是只有一个HU?或replace?所以HU_Husnumer.ReplaceHU_,MI_是不够的?然后开始阅读regex教程,在寻求完整的解决方案之前尝试一些东西。我尝试了其他方法,我不会发布。我喜欢这样的事实,有人在3年后否决了它。你没有比这更好的方法了吗查看我的问题并对其进行否决?@user3436271:请不要添加提供反馈的答案,请在您的问题或其他人的答案中添加评论。
string test = Regex.Replace("[HU_husnummer] int NOT NULL",@"^\[HU","[MI");