2017-05-04 8 views
0

私の質問に部分的に答えが見えますが、私の問題は完全に解決していません。15/16桁の数字を検索して置き換えます

私はファイル内の15桁と16桁の数字だけを見つけて置き換えるスクリプトを探しています。

均一に私は番号の最初の10桁を保持し、例えば6「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])を含める必要があります。次に、特定の問題を解決することができます。 [ask]も読んでください。 –

答えて

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

関連する問題