从字符串中删除字符

时间:2011-12-23 23:56:39

标签: c# string

如何将字符从特定字符移除到特定字符...

实施例

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

在上面的字符串中,我想将字符从“{”移除到“}”

 output -- >  `Hello !  jksssss`

4 个答案:

答案 0 :(得分:5)

可以使用Regex.Replace

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

这不适用于"Hi {!#$#@}!",这是一个例外情况:-)启动at this MSDN page以获取有关.NET中正则表达式的更多基本信息。

答案 1 :(得分:4)

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

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);
}

答案 2 :(得分:3)

您可以使用Regex中的System.Text.RegularExpressions课程进行替换。例如:

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 "

答案 3 :(得分:0)

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