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