正则表达式.NET:如果不是特定字符,请在字符串开头插入字符

时间:2019-07-18 20:18:26

标签: .net regex

正则表达式的新手,请耐心等待。如果第一个字符不是“ H”,我想在字符串的开头插入“ H”。如果它是“ H”,那么我将不理会它。我在Regex .net

下工作

例如...

输入H123456789 Ouput H123456789

输入123456789 输出H123456789

输入ABCDE 输出HABCDE

谢谢

我对Regex知之甚少,无法在此处添加任何有用的信息

2 个答案:

答案 0 :(得分:0)

如果您要评估您的字符串是否不是以特定字符开头,可以使用

Regex.Matches(input, @"^[^H].*");

要进行替换,您可以评估“比赛”的结果并使用string.Concat或其他任何技术。

string input = "123456789";
if (Regex.IsMatch(input, @"^[^H].*"))
    input = string.Concat('H', input);

Console.WriteLine(input);

答案 1 :(得分:-1)

问题是,为什么要使用REGEX?

三元'if'可以轻松解决您的问题。

string value = "123456";
value = value[0].Equals('H')? value : string.Concat("H",value);

REGEX的性能不佳,我只会在更复杂的情况下使用它。

请注意,此代码将仅检查大写字母“ H”,“ h”将无法正常工作。但是“或”可以解决问题。