如何获取没有字符串最后部分的所有字母,例如:
$string = 'namespace\name\driver\some\model';
预期输出为:
namespace\name\driver\some\
答案 0 :(得分:1)
使用explode()
将字符串拆分为\
,然后implode()
加入新字符串:
echo implode('\\', array_slice(explode('\\', $string), 0, -1));
或者使用正则表达式替换最后一个斜杠之后的所有内容:
echo preg_replace('#[^\\\\]*$#', '', $string);
输出:
namespace\name\driver\some
答案 1 :(得分:1)
如果你需要带一个子串,不需要搞乱爆炸/内爆/阵列......
尝试这个基本的东西:
$string = substr($string, 0, strrpos($string, '\\') + 1);
答案 2 :(得分:1)
假设您使用的是php,
使用此,
<?php
$string ='namespace\name\driver\some\model';
$output= implode('\\', array_slice(explode('\\', $string), 0, -1));
?>
答案 3 :(得分:1)
您可以尝试使用正则表达式吗? '* \\'
答案 4 :(得分:1)
从右边找到斜线的位置 - 你必须用额外的\
来逃避它<?php
$string = "namespace\name\driver\some\model";
$lastslash = strrpos($string,"\\") + 1;
$new_string = substr($string,0,$lastslash);
echo "new string - ".$new_string." ".$lastslash;
?>