, 나는 다음과 같은 문자열이 있습니다모든 밑줄을 밑줄로 바꾸려면 정규식을 사용하십시오. 나는 도움이 필요
$p__________________________________________________________________________________________________________________________________________, &$s___________________________________________________________________________________________________________________________________________, &$k____________________________________________________________________________________________________________________________________________, &$nft_____________________________________________________________________________________________________________________________________________)
을 내가로를 설정하는 정규식을 사용할 수 있는지 궁금 해서요 : 기본적으로 모든를 제거하는
$p_, &$s_, &$k_, &$nft_)
(그래서 그들의 구체적인 금액은 없지만 적어도 1) 진행은 밑줄을 긋고 1 개의 밑줄로 바꿉니다. 더 정확한이기 때문에 다음 사용 (난 항상 올바른 자사의 100 %를 이해할 수 있지만) 그 이유 preg_replace이다 (정규식) preffered된다
preg_replace('#(\$[a-z]{1,3})[_]+#', '$1', $string);
PS :
나는 다음과 같은 패턴하지만 행운을 시도했습니다 일반적인 문자열 대체 함수.
감사합니다.
$1
와 당신이 정말로 원하는 마십시오을 정규식에서 그 일을합니까? 나는 더 쉽고 빠르다고 생각한다. (explode(), while() 또는 string manipulation function) – Mixxiphoid많은 사람들이 정규 표현식의 성능에 대해 걱정하고 있으므로 몇 가지 벤치 마크가있다. :) 한 번에 한 번에 정규 표현식 함수를 사용하면 성능에 영향을 줄 수는 없으며 다른 문자열 조작자 조합보다 하나의'preg_replace() '가 작성하고 설명하기가 훨씬 쉽습니다. – glomad