【发布时间】:2015-04-16 17:20:37
【问题描述】:
我有一个包含括号的字符串,[],围绕一个数字。因为这个字符串代表我的 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");
它工作正常,但对我来说看起来很难看,因为我必须为 [1] 到 [20] 这样做。
有没有办法实现这个“更好”,这意味着对我来说代码更少?
【问题讨论】:
-
括号是否也与数字不同,您希望在这种情况下保留它们?
-
您可以使用正则表达式仅匹配特定模式,例如:
\[\(d+)\],然后将匹配项替换为其内容。括号用于提取内容 -
顺便说一句,您要解决的实际问题是什么?括号中的数字是如何在 SQL 语句中结束的,尽管它们不是列名?它们是值还是参数的占位符?