我有一个字符串,它是逗号分隔这样CSV字符串转换为字符串空格代替逗号在PHP
$str = "john, alice, mary,joy";
一些人有逗号后的空间,有些则没有。我想要做的是删除所有的逗号,并使他们是这样的:
$str = "john alic mary joy";
什么是在php中做到这一点的最佳方式?
我有一个字符串,它是逗号分隔这样CSV字符串转换为字符串空格代替逗号在PHP
$str = "john, alice, mary,joy";
一些人有逗号后的空间,有些则没有。我想要做的是删除所有的逗号,并使他们是这样的:
$str = "john alic mary joy";
什么是在php中做到这一点的最佳方式?
str_replace
是逗号后至多有一个空格的最简单解决方案:
$str = str_replace(array(', ', ','), ' ', $str);
如果可以有多个空格,那么我会用正则表达式解决方案。 (见icktoofay的答案)
虽然正则表达式可能不是最好的方式,一个简单的正则表达式,因为这可能变换数据:
$str = preg_replace("/ *,+ */", " ", $str);
通过casablanca和这两个工作都很好。但是,最好的实施是什么?正则表达式还是其他的?哪一个是快速的?感谢名单! – esafwan 2010-07-02 03:29:36
echo str_replace(',',' ',str_replace(' ','',$str));
甲非正则表达式的方法:
$str = str_replace(", ", ",", $str); # Remove single space after a comma
$str = implode(' ', explode(',',str));
正则表达式总是比较慢,所以只要有可能,最好使用替代方法。 – casablanca 2010-07-02 03:42:26