我以为我做一个正则表达式替换
Regex r = new Regex("[0-9]");
return r.Replace(sz, "#");
在名为 aa514a3a.4s5 的文件上。它完全符合我的预期。它替换所有号码,包括分机号中的号码。我如何让它不替换分机中的数字。我尝试了许多正则表达式字符串,但我开始认为它是一个全有或全无的模式,所以我不能这样做吗?我需要将分机与字符串分开还是可以使用正则表达式?
最佳答案
这个是为我做的:
(?<!\.[0-9a-z]*)[0-9]
这会在句点后跟零个或多个字母数字字符进行负向后视(字符串不得出现在匹配的字符串之前)。这可确保仅匹配不在您的分机中的号码。
显然,[0-9a-z] 必须替换为您在扩展名中期望的字符。
关于c# - 用C#替换字符串中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/713435/