从字符串中删除字符

如何将角色从特定角色移除到特定角色……

string a = " Hello ! {ssd} jksssss"; 

在上面的字符串我想删除从'{‘到’}’的字符

  output -- > `Hello ! jksssss` 

您可以使用System.Text.RegularExpressionsRegex类来执行替换。 例如:

 var a = " Hello ! {ssd} jksssss"; var newString = Regex myRegex = new Regex("{{.+}}", ""); myRegex.Replace(a, ""); 

编辑:

如果要匹配花括号的多个出现,并替换每个,请使用此正则表达式:

 var a = "Hello ! {ssd} jksssss {tasdas}"; Regex myRegex = new Regex("{{[^{]+}}", ""); var newString = myRegex.Replace(a, ""); // a == "Hello ! jksssss " 

这可以使用Regex.Replace完成:

 string a = " Hello ! {ssd} jksssss"; string b = Regex.Replace(a, "{\w+}", ""); 

这不适用于"Hi {!#$#@}!" ,这是一个exricse :-)从这个MSDN页面开始,了解有关.NET中正则表达式的更多基本信息。

不使用正则表达式的一种方法如下:

 string a = " Hello ! {ssd} jksssss"; int start = a.IndexOf('{'); int end = a.IndexOf('}', start); if (end > start && start != -1) { a = a.Remove(pos, end-start+1); } 

如果您不想查找特定位置并且大括号之间的内容不同,您也可以使用Regex.Replace()。