如何从字符串中删除空格,除了引号中的空格

时间:2014-08-06 15:25:54

标签: regex actionscript-3 flex air

我有一个这样的字符串:

'Hello ' world  '. Hello world'

我需要删除空格,但不能删除引号内部。对于当前字符串结果应为:

Hello world. Hello world

任何正则表达式都可以帮助解决这个问题 谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式:

('.*?').*?\s*(\w+)\s*

检查此 working demo

上的替换

答案 1 :(得分:1)

作为perl-oneliner解决您的问题(您可以看到它如何删除第一个世界周围的空白):

# echo "'Hello ' world  '. Hello world'" | perl -ne "print \$1 while /('[^']+'|[^' ]+)/g"
'Hello 'world'. Hello world'

在ActionScript程序中使用正则表达式/('[^']+'|[^' ]+)/g,你就拥有了它。

正则表达式的关键部分是[^'],这意味着:匹配除单引号之外的任何字符。