【发布时间】:2013-05-23 19:36:22
【问题描述】:
我有一个包含一些 id 的字符串,基本上是一个字符串中的 sql 表达式。我需要以更友好的方式将其呈现给用户,即。用数据库中的名称替换 id。问题是一些 id 是个位数,而另一些是 2 位数。因此,当我搜索和替换单个数字时,它也会替换 part of 2 个数字字符串。例如,如果原始字符串是:
id not in (2, 3, 4) and id > 22
当我对 2 执行搜索和替换时,数字 2 和 22 都会被替换。
使用正则表达式我可以找到2,但是当我替换它时(正则表达式基本上会查找我想要的数字和一些可能的分隔符,例如空格,() 等)。是否可以替换此数字但保留这些分隔符?
这就是我现在拥有的:
Regex.Replace(returnValue
, String.Format("[,( )]{0}[,( )]", number)
, replaceValue)
【问题讨论】:
-
我不得不问你为什么要这样做?
-
我需要保存一个表达式,稍后将用于过滤数据,并且我需要能够以尽可能友好的方式向用户显示它。