如何删除string末尾的所有特定字符?

如何删除最后一个字符只有当它是一个时期?

$string = "something here."; $output = 'something here'; 
 $output = rtrim($string, '.'); 

(参考: PHP.net上的rtrim )

用rtrim代替所有的“。” 最后,不只是最后一个字符

 $string = "something here.."; echo preg_replace("/\.$/","",$string); 

为了只删除最后一个字符,而不是使用preg_replace我们可以把string当作一个char数组,如果它是一个点,就删除最后一个字符。

 if ($str[strlen($str)-1]==='.') $str=substr($str, 0, -1); 

我知道这个问题是一些旧的,但可能是我的答案是有帮助的。

$string = "something here..........";

ltrim将删除前导点。 例如: – ltrim($string, ".")

rtrim rtrim($string, ".")将删除尾随点。

修剪 trim($string, ".")将删除尾随和前导点。

你也可以通过正则expression式来做到这一点

preg_replace将被删除可以用来删除最后的点/点

 $regex = "/\.$/"; //to replace single dot at the end $regex = "/\.+$/"; //to replace multiple dots at the end preg_replace($regex, "", $string); 

我希望这对你有帮助。

你可以使用php的rtrim函数,它允许你修剪存在于最后位置的数据。

例如 :

 $trim_variable= rtrim($any_string, '.'); 

最简单和禁食的方式!

例:

  $columns = array('col1'=> 'value1', 'col2' => '2', 'col3' => '3', 'col4' => 'value4'); echo "Total no of elements: ".count($columns); echo "<br>"; echo "----------------------------------------------<br />"; $keys = ""; $values = ""; foreach($columns as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; $keys = $keys."'".$x."',"; $values = $values."'".$x_value."',"; echo "<br>"; } echo "----------------------Before------------------------<br />"; echo $keys; echo "<br />"; echo $values; echo "<br />"; $keys = rtrim($keys, ","); $values = rtrim($values, ","); echo "<br />"; echo "-----------------------After-----------------------<br />"; echo $keys; echo "<br />"; echo $values; ?> 

输出:

 Total no of elements: 4 ---------------------------------------------- Key=col1, Value=value1 Key=col2, Value=2 Key=col3, Value=3 Key=col4, Value=value4 ----------------------Before------------------------ 'col1','col2','col3','col4', 'value1','2','3','value4', -----------------------After----------------------- 'col1','col2','col3','col4' 'value1','2','3','value4' 

使用strrpos和substr的组合来获取最后一个周期字符的位置,并删除它,使所有其他字符保持不变:

 $string = "something here."; $pos = strrpos($string,'.'); if($pos !== false){ $output = substr($string,0,$pos); } else { $output = $string; } var_dump($output); // $output = 'something here';