【发布时间】:2011-04-12 10:07:09
【问题描述】:
我需要替换文本文件中的数字字符串列表。但是,如果字符串是另一个数字字符串的一部分,则不应替换它: 要替换的字符串:111111 替换字符串:MASKED
Text file:
111111
111111.text text
text text111111 text text
a111111
2111111
111111a
1111112
a111111a
Expected result:
MASKED
MASKED.text text
text textMASKED text text
aMASKED
2111111 -> Character 2 prevents masking
MASKEDa
1111112 -> Character 2 prevents masking
aMASKEDa
这是我的代码:
inputText = Regex.Replace(inputText, "(?<![0-9])" + stringToMask + "(?<![0-9])", "####MASKED####");
此代码只是跳过所有内容,不执行任何屏蔽。
【问题讨论】:
-
第二个 (?
-
sh54 所说的。他应得的标记:)
-
@Henk,不,你不能。
\D将是[^0-9]。!属于断言(?<! ...)背后的样子。 -
sh54 - 这行得通。如果您创建它,我很乐意选择您的答案。