如何从字符串末尾删除逗号?
我想删除字符串末尾的逗号。因为它现在我正在使用如何从字符串末尾删除逗号?
$string = substr($string,0,-1);
但这只会删除字符串的最后一个字符。我正在动态地添加字符串,所以有时在字符串末尾没有逗号。如何让PHP在字符串末尾删除逗号(如果末尾有逗号)?
先于同:
if(substr($string, -1)==",")
if(substr($str, -1, 1) == ',') {
$str = substr($str, 0, -1);
}
看看在RTRIM函数
rtrim ($string , ",");
上面的线将删除一个字符,如果最后一个字符是一个逗号
一个简单的正则表达式将工作
$string = preg_replace("/,$/", "", $string)
开发人员使用正则表达式来解决问题,现在他有两个问题。 – Sigurd 2009-10-29 10:24:41
RTRIM($字符串,“”);是最简单的方法。
我想你是串联在回路中的东西,像
foreach($a as $b)
$string .= $b . ',';
更好的是收集在一个数组的项目,然后用分隔符加入它,你需要
foreach($a as $b)
$result[] = $b;
$result = implode(',', $result);
这解决了后缀和双分隔符问题通常发生在串联中
好的建议。但是,并非所有的连接都可能发生在PHP中。在我的情况下,我发送一个Javascript串联的字符串用于解开PHP。 – Sablefoste 2015-09-11 19:49:12
这是一个经典问题,有两种解决方案。如果你想删除只有一个逗号,这可能会或可能不会在那里,用途:
if (substr($string, -1, 1) == ',')
{
$string = substr($string, 0, -1);
}
如果你想从行结束时,所有逗号使用简单:
$string = rtrim($string, ',');
该RTRIM函数(左修剪相应LTRIM)是非常有用的,你可以指定一个字符范围的去除,即删除逗号前后空白你可以这样写:
$string = rtrim($string, ", \t\n");
谢谢你的详细解释。这澄清了事情! – zeckdude 2009-10-29 19:33:33
我有一个讨厌的“invisi在我的字符串和结束BLE”空间不得不这样做
$update_sql=rtrim(trim($update_sql),',');
但上面的解决方案是更好的
$update_sql=rtrim($update_sql,', ');
如果你在环路串联东西,你可以做到这一点在这方式太:
$coma = "";
foreach($a as $b){
$string .= $coma.$b;
$coma = ",";
}
这将删除多个逗号:“a,b ,,,”将变成“a,b”。无论这是OP的意愿或不是我不知道... – Greg 2009-10-29 10:20:25
完美,谢谢! – zeckdude 2009-10-29 10:25:09
谢谢你,我正在用substr,strlen,...我所有的生活 – Farhad 2015-04-15 17:59:01