2017-05-04 3 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])을 포함해야합니다. 그런 다음 특정 문제를 해결할 수 있습니다. 또한 [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