我希望在“ - ”,
的最后一次出现之前得到字符串的一部分例如,
$string1 = 'a-b-c-de-f-gfgh';
我想让这部分归还:a-b-c-de-f。当然,我不知道最后一部分的长度。
这样做的简单方法是什么?
谢谢
答案 0 :(得分:7)
echo substr ($string1, 0, strrpos ($string1, '-'));
strrpos()查找子串的最后一次出现, - 在这种情况下,substr()将原始字符串从第0个字符拆分为strrpos()
定义的第n个字符答案 1 :(得分:1)
答案 2 :(得分:1)
使用-
获取$x = strrpos($string1,'-');
的最后一次出现
然后使用substr()
将已解决的字符串从0返回到$ x
echo substr ($string1, 0, $x);
答案 3 :(得分:0)
作为其他海报的替代方案:
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解决方案。
答案 4 :(得分:0)
你可以删除最后一部分:
$string = preg_replace("|-[^-]+$|", "", $string);