php – 正则表达式从字符串中删除所有单个字符

我需要一个正则表达式来删除字符串中的所有单个字符,而不仅仅是单个字母或数字

字符串是:

“A Future Ft Casino Karate Chop ( Prod By Metro )”

它应该出现:

“Future Ft Casino Karate Chop Prod By Metro”

我目前使用的表达式(在PHP中)正确地删除单个’A’但保留单个'(‘和’)’

这是我正在使用的代码

$string = preg_replace('/\b\w\b\s?/','',$string);
试试这个:
(^| ).( |$)

分解:

1.  (^| )  ->  Beginning of line or space  
   2.  .      ->  Any character  
   3.  ( |$)  ->  Space or End of line

实际代码

$string = preg_replace('/(^| ).( |$)/','$1',$string);

注意:我不熟悉PHP正则表达式的工作原理,因此代码可能需要稍微调整,具体取决于实际的正则表达式需求的声明方式.

正如m.buettner所指出的,这里的代码中会有一个尾随的空格.需要一个修剪来清除它.

编辑:Arnis Juraga指出,这不会清除b c过滤掉b的多个单个字符.如果这是一个问题,请使用此正则表达式:

(^| ).(( ).)*( |$)

添加到中间的(().)*将查找任何字符后跟0的任何空格.不利的一面是,最终会出现一系列单个字符所在的双倍空格.

这意味着:

The a b c dog

会变成这样:

The  dog

执行替换以获取单个字符后,您需要使用以下正则表达式来定位双空格,然后用单个空格替换

( ){2}

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...