C# 在C中删除字符串中的括号#

C# 在C中删除字符串中的括号#,c#,brackets,C#,Brackets,我需要从C#in中的字符串中删除封闭括号 例如,如果我有一个字符串作为[My[]Groups],我想将其转换为My[]Groups检查字符串。替换方法 更新: 如果只删除封闭的括号,您可以去掉第一个和最后一个字符。通过dasblinkenlight建议的代码或正则表达式 首先确保它们确实是括号。 如果使用正则表达式,则可以一次性完成所有这些操作。否则,您应该在dasblinkenlight的解决方案中添加类似的内容 if (s.Length > 2) { if(s.StartsWit

我需要从C#in中的字符串中删除封闭括号


例如,如果我有一个字符串作为
[My[]Groups]
,我想将其转换为
My[]Groups
检查
字符串。替换
方法

更新:

如果只删除封闭的括号,您可以去掉第一个和最后一个字符。通过dasblinkenlight建议的代码或正则表达式

首先确保它们确实是括号。

如果使用正则表达式,则可以一次性完成所有这些操作。否则,您应该在dasblinkenlight的解决方案中添加类似的内容

if (s.Length > 2) {
  if(s.StartsWith("[")) {
    s = s.Substring(1, s.Length-1);
  }
  if(s.EndsWith("]")) {
    s = s.Substring(0, s.Length-1);
  }
}
或者如果你只想脱衣,如果你有一个开始和结束括号

长度是否大于2的检查可能会被删除到,但我保留了它以显示初始代码的源代码是由dasblinkenlight编写的。

尝试以下操作:

var myString = "[My Groups]";
myString.Replace("[", string.Empty);
myString.Replace("]", string.Empty);
yourString = yourString.Replace("[", string.Empty).Replace("]", string.Empty);
由于问题经过编辑:

string s = "[My [] Groups]";
string pattern = @"^(\[){1}(.*?)(\]){1}$";
Console.WriteLine(Regex.Replace(s, pattern, "$2")); // will print My [] Groups

使用示例中的字符串解决此问题的最简单方法是使用子字符串:

if (s.Length > 2) {
    s = s.Substring(1, s.Length-2);
}

只有当您100%确定第一个和最后一个字符确实是方括号时,这才有效。如果没有,例如,当字符串未修剪时,您可能需要执行其他字符串操作(例如修剪字符串)。

尝试
string。替换


以下语句删除所有字符[和]

Regex.Replace("This [is [a] [test.", @"[\[\]]", "")   // -> "This is a test."

替换解决方案将去掉内部支架和外部支架。我想你想要:

string result = "[My [] Groups]".TrimLeft('[').TrimRight(']');

易于使用
修剪

var result = "[My [] Groups]".Trim('[', ']');

查看string.replace()将string.replace()作为新工具添加到工具箱中?这意味着“[”和“]”仅位于字符串的开头和结尾。用户很可能就是这样,但问题中没有说明。@inquam我完全同意这个问题有点定义不足。子字符串技巧适用于文章中的示例,但如果要求比这更复杂,则可能不起作用。@请记住,如果对未括在括号内的字符串运行此操作,它仍将删除该字符串的第一个和最后一个字符。@Artem Vyshniakov。。。谢谢你的回复。假设我的字符串如下[my[]Groups]。在这种情况下,我应该如何替换起始“[”和结束“]”。所以我的结果就是我的[]组。谢谢,我怀疑@Neon是否在测试代码。@Neon:如果你想让“[My[]Groups]”变成“My[]Groups”,你只需要去掉第一个和最后一个字符。如果您想从字符串中删除括号或所有括号,请尽量在问题中更加清楚。在C#中,它的TrimStart和TrimEndWho或什么是“DasLinkedLight”?似乎该用户可能在过去10年中更改了名称(或删除了其答案;)
var result = "[My [] Groups]".Trim('[', ']');