如何在C#中删除所有带括号的字符串?

时间:2018-08-19 15:03:40

标签: c# string

string data = "DisplayName=[s9dFSQ]Height=[rPBM7]User=[5cY]Date=[KJn7Zzd1f]";

如何删除括号中的所有值?

我打算使用类似的东西

string result="";
string[] wholestring = data.Split('[');
foreach (string f in wholestring)
{
     result += f.Split("]")[0];
}
result.Replace('[','').Replace(']','');

//result would be: DisplayName=Height=User=Date=

如果能显示出更正确的方法,我将不胜感激。

2 个答案:

答案 0 :(得分:3)

假设所有方括号正确配对并且没有嵌套,则可以使用Regex.Replace

var withoutBrackets = Regex.Replace(withBrackets, @"\[[^\]]*\]" , "");

Demo.

如果您还需要使用正则表达式来处理嵌套的括号,请参见this Q&A,以详细了解如何在.NET中完成此操作。

答案 1 :(得分:1)

您在这里:

length = strlen(YourName)+1;