我想從字符串拆分數字和字母,但有問題。
輸入像:
輸入實施例1:A5
輸入例2:C16
輸入實施例3:A725
輸入實施例4:X05
結果必須是:
結果實施例1:'A','5'
結果示例2:'C','16'
結果例3:'A','725'
結果例子4:'X','05'
正則表達式從字母拆分數字
我嘗試將其與正則表達式貝羅,但不給一個好的結果:
preg_split('/(?=\d+)/', $input)
我想從字符串拆分數字和字母,但有問題。
輸入像:
輸入實施例1:A5
輸入例2:C16
輸入實施例3:A725
輸入實施例4:X05
結果必須是:
結果實施例1:'A','5'
結果示例2:'C','16'
結果例3:'A','725'
結果例子4:'X','05'
正則表達式從字母拆分數字
我嘗試將其與正則表達式貝羅,但不給一個好的結果:
preg_split('/(?=\d+)/', $input)
您還需要添加一個負向後看,使確定所選的空字符串不在兩位數的中間。
目前對於字符串A725
,您正則表達式將在空字符串分割前7
,2
和5
,因爲所有的人都跟着至少一個數字。
你可以使用這個表達式:
preg_split('/(?<!\d)(?=\d+)/', $input)
您可以使用:
$s = 'A5,C16,A725,X05';
if (preg_match_all("~(?>[a-z]+|\d+)~i", $s, $arr))
var_dump($arr[0]);
給出:
array(8) {
[0]=>
string(1) "A"
[1]=>
string(1) "5"
[2]=>
string(1) "C"
[3]=>
string(2) "16"
[4]=>
string(1) "A"
[5]=>
string(3) "725"
[6]=>
string(1) "X"
[7]=>
string(2) "05"
}
謝謝anubhava,我接受下面的答案,我現在編輯問題以獲得更好的輸入和結果信息,也謝謝)。 – Root125
酷,感謝羅希特耆那教。沒有任何說的更多的需要,這是正確的;) – Root125
@root不客氣:) –
@root你可以標記答案爲接受:) –