2017-05-04 39 views
0

我可以看到我的问题的部分答案,但没有完全回答我的问题。找到并替换15/16位数字

我正在寻找一些脚本来运行,它会在文件中查找和替换特定的15和16位数字。

,而非与任何一个具体的东西代替它均匀我想保留号码的前10位,并有六个“X的

例如取代过去的6:

123456789将成为:1234567890XXXXXX

非常感谢。

PS =在这里提出了同样的问题,但只讨论了主题标题中提出的问题,而不是文本的细节(本章不仅希望找到15和16位数字......而是要取代'X'的最后数字) PHP Find a 15 or 16-digit number in a long string

+0

欢迎堆栈溢出!请[编辑]您的问题以显示[迄今为止的代码](http://whathaveyoutried.com)。你至少应该包括一个你遇到问题的代码大纲(但最好是[mcve]),然后我们可以尝试帮助解决具体问题。你还应该阅读[问]。 –

回答

0

我想你使用的是PHP。

随着preg_replace你可以这样做:

$str = 123456789; 
$res = preg_replace('/\b(\d{10})\d{5,6}\d/', '$1XXXXXX', $res); 

说明:

/   : regex delimiter 
\b  : word boundary, make sure we don't have digits before 
(  : begin capture group 
    \d{10} : 10 digits 
)   : end capture group 
\d{5,6} : 5 or 6 digits 
\b  : word boundary, make sure we don't have digits before 
/  : regex delimiter 
+0

感谢多多千万! – Damo

+0

@Damo:不客气,很高兴帮助。随意标记接受的答案,请参阅:http://stackoverflow.com/help/someone-answers – Toto