从分隔字符串中删除尾随分隔字符

新手上路,请多包涵

从字符串中删除最后一个字符的最快方法是什么?

我有一个字符串

a,b,c,d,e,

我想删除最后一个’,’并取回剩余的字符串:

 OUTPUT: a,b,c,d,e

最快的方法是什么?

原文由 I-M-JM 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 303
2 个回答

与提出的问题相反, rtrim() 将从字符串末尾删除第二个参数中列出的 任意数量 的字符。如果您只需要一个逗号,则可以使用以下代码:

 $newarraynama = rtrim($arraynama, ",");

但就我而言,我有 2 个字符,一个逗号和一个空格,所以我不得不改为

$newarraynama = rtrim($arraynama, " ,");

and now it would remove all commas and spaces from the end of the string, returning a, b, c, d, e either from a, b, c, d, e, , a, b, c, d, e,,, , a, b, c, d, e, or a, b, c, d, e , ,, , ,

但是,如果可能有多个逗号,但您 只需要删除最后一个 逗号,那么 rtrim() 根本不应该使用 - 请参阅其他答案以获得直接回答问题的解决方案。

但是,如果您不知道是否存在额外字符,则 rtrim() 可能是一个不错的选择。与 substr 基于解决方案不同,它将从 a, b, c, d, e 返回 a, b, c, d, e

原文由 anon 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用字符串锚“$”的正则表达式结尾

$string = preg_replace("/,$/", '', $string);

原文由 jxwd 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题