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

如何删除C#中带括号的所有字符串?,c#,string,C#,String,如何删除括号中的所有值 我计划用类似的东西 string data = "DisplayName=[s9dFSQ]Height=[rPBM7]User=[5cY]Date=[KJn7Zzd1f]"; 如果您能展示一种更合适的方式,我将不胜感激。假设所有括号都正确配对并且没有嵌套,您可以使用: 如果您还需要正则表达式使用嵌套的方括号,请参阅,以获得有关如何在.NET中实现这一点的深入解释。这里是: var withoutBrackets = Regex.Replace(withBrackets

如何删除括号中的所有值

我计划用类似的东西

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

如果您能展示一种更合适的方式,我将不胜感激。

假设所有括号都正确配对并且没有嵌套,您可以使用:

如果您还需要正则表达式使用嵌套的方括号,请参阅,以获得有关如何在.NET中实现这一点的深入解释。

这里是:

var withoutBrackets = Regex.Replace(withBrackets, @"\[[^\]]*\]" , "");
static void Main()
{
string data=“DisplayName=[s9dFSQ]Height=[rPBM7]User=[5cY]Date=[KJn7Zzd1f]”;
Console.WriteLine(RemoveBracketsContent(data));//打印DisplayName=Height=User=Date=
}
静态字符串移除括号内容(字符串数据)
{
字符串结果=string.Empty;
bool-brackedStarted=false;
for(int i=0;i
非常感谢您。第一个答案似乎更短,我更喜欢使用更短的代码。@BeytoA。永远不要选择较短的代码,而是选择您可以阅读和理解的代码。
var withoutBrackets = Regex.Replace(withBrackets, @"\[[^\]]*\]" , "");
static void Main()
{
    string data = "DisplayName=[s9dFSQ]Height=[rPBM7]User=[5cY]Date=[KJn7Zzd1f]";

    Console.WriteLine(RemoveBracketsContent(data)); // prints DisplayName=Height=User=Date=
}

static string RemoveBracketsContent(string data)
{
    string result = string.Empty;
    bool brackedStarted = false;

    for (int i = 0; i < data.Length; i++)
    {
        if (data[i].Equals('['))
        {
            brackedStarted = true;
            continue;
        }
        else if (data[i].Equals(']'))
        {
            brackedStarted = false;
            continue;
        }

        if (brackedStarted)
        {
            continue;
        }

        result += data[i];
    }

    return result;
}