我有一个看起来像这样的字符串world:region:bash
它划分文件夹名称,因此我可以为FTP功能创建路径。
但是,我需要在某些方面能够删除字符串的最后一部分,例如
我有world:region:bash
我需要这个world:region
脚本无法知道文件夹名称是什么,因此需要能够在最后一次冒号后删除字符串。
答案 0 :(得分:17)
$res=substr($input,0,strrpos($input,':'));
我应该强调strrpos not strpos在给定字符串中找到最后一个子字符串
答案 1 :(得分:6)
$tokens = explode(':', $string); // split string on :
array_pop($tokens); // get rid of last element
$newString = implode(':', $tokens); // wrap back
答案 2 :(得分:2)
分解字符串,然后删除最后一个元素。 如果您需要再次使用该字符串,请使用implode。
$items = array_pop(explode(':', $the_path));
$shotpath = implode(':', $items);
答案 3 :(得分:2)
你可能想尝试这样的事情:
<?php
$variable = "world:region:bash";
$colpos = strrpos($variable, ":");
$result = substr($variable, 0, $colpos);
echo $result;
?>
或者......如果您使用此信息创建函数,则可以得到:
<?php
function StrRemoveLastPart($string, $delimiter)
{
$lastdelpos = strrpos($string, $delimiter);
$result = substr($string, 0, $lastdelpos);
return $result;
}
$variable = "world:region:bash";
$result = StrRemoveLastPart($variable, ":");
?>
答案 4 :(得分:1)
使用正则表达式/:[^:]+$/
,preg_replace
$s = "world:region:bash";
$p = "/:[^:]+$/";
$r = '';
echo preg_replace($p, $r, $s);
注意$
这意味着字符串终止是如何使用的。
答案 5 :(得分:-1)
<?php
$string = 'world:region:bash';
$string = implode(':', explode(':', $string, -1));