清理文本字符串中字母/三重空格之间的空格

时间:2013-03-06 19:09:55

标签: php javascript

我需要清理文本字符串,其中每个字母之间都有一个空格,每个空格由3个空格组成,例如:

E X C E P T I O N A L   C R E A T I V I T Y   A N D   A  
T A I L O R E D   D E S I G N   E D G E

如何清理文本,即 - 将每个三维空间转换为单个空格,并删除每个字母之间的空格?

客户端/服务器端解决方案欢迎。

3 个答案:

答案 0 :(得分:5)

preg_replace('/(.) /', '\\1', $string);

正则表达式引擎不匹配替换结果的子串,因此它可以正确处理三重空格而无需特殊情况。

答案 1 :(得分:2)

str_replace(array('   ', ' ', '%'), array('%', '', ' '), $text);

只需将%替换为文字中未出现的字符或字符串。

答案 2 :(得分:0)

$input = <<<_EOI_
E X C E P T I O N A L   C R E A T I V I T Y   A N D   A  
T A I L O R E D   D E S I G N   E D G E
_EOI_;

$patterns = array('/(\w) /', '/ {2,}/');
$replaces = array('$1', ' ');

preg_replace($patterns, $replaces, $input);

// output: 
// EXCEPTIONAL CREATIVITY AND A
// TAILORED DESIGN EDGE