替换文件中的字符串

时间:2009-10-12 06:08:36

标签: c# regex replace

我必须以下列方式替换

如果字符串是“string _countryCode”,我必须将其替换为“string _sCountryCode”

你可以看到哪里有 _我将其替换为_s followd是大写的下一个字符即_sC

更多例子:

将字符串_postalCode替换为字符串_sPostalCode

要作为字符串_sFirstName替换的字符串_firstName

请帮忙。 最好用C#语法答案

3 个答案:

答案 0 :(得分:1)

我不确定为什么,但可能会像:

static readonly Regex hungarian =
        new Regex(@"(string\s+_)([a-z])", RegexOptions.Compiled);
...
string text = ...
string newText = hungarian.Replace(text, match =>
    match.Groups[1].Value + "s" +
    match.Groups[2].Value.ToUpper());

请注意,正则表达式不一定会发现诸如(有效C#)之类的示例:

string
    _name = "abc";

答案 1 :(得分:0)

如果字符串的模式如您所示,那么您不需要使用正则表达式。您可以使用字符串类的Replace方法执行此操作。

答案 2 :(得分:0)

StringBuilder ss=new StringBuilder(); 
         string concat="news_india";//or textbox1.text;          
         int indexs=concat.LastIndexOf("_")+1;//find "_" index 
         string find_lower=concat.Substring(indexs,1); 
         find_lower=find_lower.ToUpper(); //convert upper case 
         ss.Append(concat);
         ss.Insert(indexs,"s"); //s->what ever u like give "+your text+"
         ss.Insert(indexs+1,find_lower);

试试这个..会有效吗