从字符串中删除多余的空格

158

我从数据库查询中获得了一个字符串,然后我在将其放入CSV文件之前删除了所有的HTML标签、回车和换行符。唯一的问题是,我找不到一种方法来删除字符串之间多余空格。

如何最好地删除内部的空格字符?


6
原始字符串示例:我正在学习机器学习,这对我的职业发展非常有帮助。但是,我发现有些概念非常难以理解。期望的字符串示例:我正在学习机器学习,它对我的职业发展非常有帮助。但是,我发现有些概念很难理解。 - Zote
你能否澄清最终输出的需求是什么?你是将逗号插入到CSV数据中,从已经包含逗号的数据库中获取数据,将字符串输入到处理CSV插入的函数中,还是其他方式? - Frank DeRosa
最终输出需要是一个字符串,每个单词之间用一个空格分隔,目前是多个空格。 - joepour
1
@Joe,我不会浪费时间,而是开始给之前帮助过你的人们致谢! :) - Frankie
12个回答

-1
$str = "I      am a PHP   Developer";
$str_length = strlen($str);
$str_arr = str_split($str);
for ($i = 0; $i < $str_length; $i++) {
   if (isset($str_arr[$i + 1])  && $str_arr[$i] == ' ' && $str_arr[$i] == $str_arr[$i + 1]) {
       unset($str_arr[$i]);
   } 
   else {
     continue;
   }
}
echo implode("", $str_arr);

-1

我最近写了一个简单的函数,它可以在不使用正则表达式的情况下从字符串中删除多余的空格:implode(' ', array_filter(explode(' ', $str)))


这也会销毁所有不应该被销毁的假字符串,比如 0 - mickmackusa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接