我怎样才能摆脱preg_split
结果中的尾随空格而不使用使用preg_replace
首先从$test
字符串中删除所有空格?
$test = 'One , Two, Thee ';
$test = preg_replace('/\s+/', ' ', $test);
$pieces = preg_split("/[,]/", $test);
答案 0 :(得分:5)
如果必须是preg_split()
(您在问题中确实需要这样做),那么这可能有所帮助:
$test = 'One , Two, Thee ';
$pieces = preg_split("/\s*,\s*/", trim($test), -1, PREG_SPLIT_NO_EMPTY);
trim()
用于删除第一个元素之前和最后一个元素之后的空格。 (preg_split()
不执行 - 它只删除逗号周围的空格)
答案 1 :(得分:1)
我会这样做:
$test = 'One , Two, Thee ';
$pieces = array_map('trim', explode(',', $test));
print_r($pieces);
答案 2 :(得分:0)
是的,同时,@ Kaii的一个很棒的人,同时,根据他的解决方案中的提示,我修改了我的代码:
function splitStringToArray($str){
return preg_split('/\s+/', $str);
}
收件人:
function splitStringToArray($str){
return preg_split('/\s+/', trim($str));
}
现在得到我想要的确切结果,字处理功能中没有尾部空格。希望这也能对某人有所帮助。干杯。