我想最後一次出現之前得到字符串的一部分「 - 」,PHP模式匹配
例如,
$string1 = 'a-b-c-de-f-gfgh';
我想這部分返回:ABC-去F。當然,我不知道最後一部分的長度。
什麼是簡單的方法來做到這一點?
謝謝
我想最後一次出現之前得到字符串的一部分「 - 」,PHP模式匹配
例如,
$string1 = 'a-b-c-de-f-gfgh';
我想這部分返回:ABC-去F。當然,我不知道最後一部分的長度。
什麼是簡單的方法來做到這一點?
謝謝
echo substr ($string1, 0, strrpos ($string1, '-'));
strrpos()找到字符串最後一次出現, - 在這種情況下,和SUBSTR()將來自第0個字符,直到第n個字符的原始字符串由strrpos定義( )
作爲替代其他海報:
preg_match('/(.*)-[^-]+/', 'a-b-c-de-f-gfgh', $result);
結果:
Array
(
[0] => a-b-c-de-f-gfgh-a
[1] => a-b-c-de-f-gfgh
)
雖然我喜歡Jeroens解決方案的更多。
你可以刪除最後一部分:
$string = preg_replace("|-[^-]+$|", "", $string);
得到使用$x = strrpos($string1,'-');
然後使用substr()
從0返回decired字符串給$ x
echo substr ($string1, 0, $x);
這麼多的方法
-
最後一次出現,你有什麼嘗試? – jeroen