删除字符串末尾的部分 - 仅最后一场比赛

remove a part at the end of string - last match only

我正在使用 rtrim() 删除字符串末尾的一部分,在我的示例中为 , US

<?php

$str = "Hello - world, c., US, US";

echo rtrim($str,", US");

?>

输出:

Hello - world, c.

它删除了 , US, US,我只想删除最后一个,输出应该是 Hello - world, c., US

请问我该怎么做?

rtrim() 不删除特定的字符串,它使用该字符串作为要在末尾删除的字符列表。

使用正则表达式替换:

echo preg_replace('/, US$/', '', $str);

$ 将匹配锚定到字符串的末尾。

substr + strrpos 方法:

$str = "Hello - world, c., US, US";
echo substr($str, 0, strrpos($str, ", US"));

输出:

Hello - world, c., US