在php中使用explode方法后如何去掉逗号[重复]
Posted
技术标签:
【中文标题】在php中使用explode方法后如何去掉逗号[重复]【英文标题】:How to git rid of a comma after using the explode method in php [duplicate] 【发布时间】:2013-09-10 22:48:27 【问题描述】:我想要做的就是从字符串中获取第一个单词,它确实有效,但是我如何也摆脱逗号,现在我正在获取名称,我希望它只显示名称后面没有逗号或字符。
<?php $pet_name = $pet->pet_name(); $arr = explode(' ',trim($pet_name));?>
<h1><?= $arr[0] ?></h1>
【问题讨论】:
***.com/questions/5592994/… 【参考方案1】:$name = str_replace(',','',$arr[0]);
str_replace 用于将逗号替换为空
【讨论】:
【参考方案2】:我看到了两种方法。
第一种方式。我建议的方式:
rtrim($arr[0], ',');
第二种方式。这样做的问题是,如果最后一个字符不是逗号,它也会删除它:
substr($arr[0], 0, strlen($arr[0]) - 1);
【讨论】:
@Salim 我知道,这就是我在描述中添加文字的原因。但是,如果您有 120% 的把握,它的末尾总是一个逗号(比如预先创建的字符串或其他什么,它会更快。 @Salim 如果没有逗号,如果出现意外怎么办?那家伙清楚地说有一个逗号 是的 - 会比正则表达式和 rtrim 更快,我向你保证。如果您 200% 确定结尾总是有一个逗号,那么这就是要走的路。【参考方案3】:preg_split
在这里可能比explode
更有帮助:
<?php
$pet_name = $pet->pet_name();
$arr = preg_split('/[ ,]/', $pet_name, null, PREG_SPLIT_NO_EMPTY);
?>
这将在拆分名称时将任何空格和逗号序列视为分隔符。
explode(' ', 'Smith, John'); // ['Smith,', 'John']
explode(' ', 'Smith,John'); // ['Smith,John']
preg_split('/[ ,]/', 'Smith, John', null, PREG_SPLIT_NO_EMPTY); // ['Smith', 'John']
preg_split('/[ ,]/', 'Smith,John', null, PREG_SPLIT_NO_EMPTY); // ['Smith', 'John']
【讨论】:
以上是关于在php中使用explode方法后如何去掉逗号[重复]的主要内容,如果未能解决你的问题,请参考以下文章