php - 将字符串中的多个空格替换为单个空格

标签 php regex

我有一个文件,其中有时单词之间有多个空格。我需要清理文件并仅用一个空格替换现有的多空格序列。我写了下面的语句,但根本不起作用,看来我犯了一个很大的错误。

 $s = preg_replace("/( *)/", " ", $x);

我的文件非常简单。这是其中的一部分:

Hjhajhashsh dwddd dddd sss   ddd wdd ddcdsefe xsddd   scdc yyy5ty    ewewdwdewde           wwwe ddr3r dce eggrg               vgrg fbjb   nnn  bh jfvddffv mnmb   weer ffer3ef f4r4 34t4 rt4t4t 4t4t4t4t    ffrr  rrr  ww w w ee3e iioi   hj   hmm  mmmmm mmjm lk ;’’ kjmm  ,,,, jjj hhh  lmmmlm m mmmm lklmm jlmm m

最佳答案

您的正则表达式会将任意个空格(包括)替换为空格。您应该只替换两个或多个(毕竟,用其本身替换单个空格是没有意义的):

$s = preg_replace("/ {2,}/", " ", $x);

关于php - 将字符串中的多个空格替换为单个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22192324/

相关文章:

python - 如何仅读取和删除特定行的代码?

php - 只需从 PHPExcel 获取一行

php - htaccess mod_rewrite 没有符号链接(symbolic link)?

PHP使用函数返回值作为数组

java - 如何使用java中的正则表达式检查给定sql查询中子句的正确顺序?

regex - 难以构建适当的正则表达式来捕获字符串

php - 所有时区数据库

php - 通过 Unix 套接字的 MySQL 连接适用于 mysqli,但不适用于 PDO

ruby-on-rails - 清理用户正则表达式

IP 地址的 Ruby 正则表达式