将[]括号替换为字符串

ck8*_*4vi 2 c# sql arrays replace

我有一个包含数字括号[]的字符串.由于此字符串表示SQL数据库的列名,因此我需要删除/替换它们.到目前为止,我通过以下方式进行:

if (stringWithBracket.Contains("[0]"))
   noBracket = data.Replace("[0]", "0");
if (stringWithBracket.Contains("[1]"))
   noBracket = data.Replace("[1]", "1");
if (stringWithBracket.Contains("[2]"))
   noBracket = data.Replace("[2]", "2");
if (stringWithBracket.Contains("[n]"))
   noBracket = data.Replace("[n]", "n");
Run Code Online (Sandbox Code Playgroud)

它工作正常,但对我来说看起来很难看,因为我必须为[1]到[20]这样做.有没有办法实现这个"更好",这意味着我的代码更少?

oop*_*ase 9

您可以使用Regex.Replace以确保仅提取数字:

var pattern = @"\[(\d+)\]";
var replaced = Regex.Replace(stringWithBracket, pattern, "$1"); 
Run Code Online (Sandbox Code Playgroud)


Flo*_*ger 6

似乎您想删除所有括号:

data = data.Replace("[", string.Empty).Replace("]", string.Empty);
Run Code Online (Sandbox Code Playgroud)

  • 这将删除所有括号,而不仅仅是数字周围的括号 (3认同)