用下划线替换随机字符串序列

时间:2014-06-15 15:10:30

标签: c# string replace

我正在进行字符串操作,实际上这个字符串以这种格式存储在数据库中。

  

THExaBROWNxbFOXxcJUMPSxdOVER

我需要格式为

  

The_Brown_Fox_Jumps_Over

我在考虑使用sring替换方法,但这不会起作用。

string myString = "THExaBROWNxbFOXxcJUMPSxdOVER";
mystring = mystring.Replace("x", "_");

这个有点棘手。需要一些帮助

2 个答案:

答案 0 :(得分:1)

使用正则表达式

string myString = "THExaBROWNxbFOXxcJUMPSxdOVER";
myString = Regex.Replace(myString, @"x\w", "_");
Console.WriteLine(myString);

这仅适用于小写x后跟一个且只有一个字符

没有正则表达式

int pos = -1;
StringBuilder sb = new StringBuilder(myString);
while((pos = myString.IndexOf("x")) != -1)
{
    sb.Remove(pos, 2);
    sb.Insert(pos, "_");
    myString = sb.ToString();
}
Console.WriteLine(myString);

答案 1 :(得分:0)

您可以在此处使用正则表达式:

var str = Regex.Replace(input, "x\w", "_");

上面用_

替换了一组小字符