大家好。我有一串用逗号分隔的名字字符串。我将这个名字字符串按照逗号分隔符拆分成一个名字数组。我需要一个正则表达式来仅移除逗号后面的空格(如果有的话),而不是第一个和最后一个名字之间的空格。
例如:
$nameStr = "Sponge Bob,Bart Simpson, Ralph Kramden,Uncle Scrooge,Mickey Mouse";
看到 Ralph Kramden 前面的空格了吗? 我需要将该空格去掉,但不要去掉姓名之间的空格。我还需要去掉任何出现在姓名前面的其他空格。
P.S.: 我曾注意到关于空格和这种情况的有趣行为。请看以下例子:
当没有像这样断开回显时:
$nameStr = "Sponge Bob,Bart Simpson, Ralph Kramden,Uncle Scrooge,Mickey Mouse";
$nameArray = explode(",", $nameStr);
foreach($nameArray as $value)
{
echo $value;
}
结果如下: 海绵宝宝巴特辛普森拉尔夫克拉姆登大叔斯库奇米老鼠
注意:Ralph Kramden之前的空格仍然存在
然而,当上述内容进行换行时,显示如下:
echo $value . "<br />";
输出结果为:
海绵宝宝
巴特·辛普森
拉尔夫·克兰登
斯库鸭叔叔
米老鼠
所有名称都与名称前没有空格的内容对齐。
那么 PHP 在字符串开头有空格时的行为是什么?
祝大家好运。感谢回复。
preg_split
比使用explode
和trim
更合适... 如果可以通过简单的正则表达式解决,为什么不这样做呢? - NikiC