2013-02-17 36 views
-2

我試圖剝離在PHP前導數字到定界符「_」 實例: (左側輸入,右側期望的輸出)修剪從字符串中的前導號碼高達定界符

1_abc.jpg -> abc.jpg 
01_abc.jpg -> abc.jpg 
100_abc.jpg -> abc.jpg 
100_12abc.jpg -> 12abc.jpg 
12abc.jpg -> 12abc.jpg 

在此先感謝。正則表達式我真的很糟糕。

+0

http://www.regexr.com會幫助你。 – Achrome 2013-02-17 03:16:12

+0

如果你在regex上真的很糟糕,在請求其他人爲你寫它們之前你有兩個選擇:(1)學習如何使用它們或(2)不用正則表達式來解決問題。兩者都意味着你可以支持和維護你的代碼。 – Johnsyweb 2013-02-17 03:17:09

+0

同樣的事情可以通過expload來完成 – 2013-02-17 03:18:11

回答

1

你真的需要正則表達式嗎?

$pos = strpos($string, '_'); 

if($pos !== false) 
    $string = substr($string, $pos + 1); 

...或:

$string = preg_replace('/^\d+_/', '', $string); 

^匹配字符串的開始和d+比賽號碼)

+0

您的preg_replace將無法用於12abc.jpg - 需要「?」在下劃線之後。 – 2013-02-17 03:25:46

+0

閱讀問題:'12abc.jpg - > 12abc.jpg' – 2013-02-17 03:30:43

+0

是的,我明白了。你是對的 – 2013-02-17 03:36:09