PHP - 如何删除字符串末尾的所有特定字符?

ggg*_*ggg 80 php regex string

如果只是一段时间,如何删除最后一个字符?

$string = "something here.";
$output = 'something here';
Run Code Online (Sandbox Code Playgroud)

Ali*_*xel 143

$output = rtrim($string, '.');
Run Code Online (Sandbox Code Playgroud)

(参考:PHP.net上的rtrim)

  • 可能不需要删除...(省略号): (2认同)
  • @OndrejIvanic:你有'......`.如果你删除最后一个点,剩下的仍然是一个点,问题标题就没有多大意义了,不是吗? (2认同)

gho*_*g74 27

使用rtrim替换所有"." 最后,不只是最后一个角色

$string = "something here..";
echo preg_replace("/\.$/","",$string);
Run Code Online (Sandbox Code Playgroud)

  • 我猜OP想要删除所有'.' 最后,否则为什么只删除一个?;) (3认同)
  • 是的,我也在猜测。尽可能紧跟问题。 (2认同)
  • 这好多了,太多人没有意识到在`trim`中使用`character_mask`基本上删除了整个字符串中的任何字符实例 (2认同)

C.O*_*.O. 6

要删除最后一个字符,只要它是一个句点而不是求助,preg_replace我们可以将字符串视为char数组,如果它是一个点,则删除最后一个字符.

if ($str[strlen($str)-1]==='.')
  $str=substr($str, 0, -1);
Run Code Online (Sandbox Code Playgroud)

  • 这是正确答案,因为其他人将删除所有尾随字符,而不仅仅是最后一个字符.但是你应该使用`===`而不是`==`来检查类型是否相等 (2认同)