我有这个字符串:如何选择替代空间与猛砸字符串只
str='1 2 3 var="foo bar" 4 5 6'
此外,它可能是这样的:
str="1 2 3 var='foo bar' 4 5 6"
我怎么会跟+
仅更换引号内的空间(双人或单身)?
结果应该是这样的:
1 2 3 var="foo+bar" 4 5 6
或
1 2 3 var='foo+bar' 4 5 6
万一var为单引号。
var
可以是任何东西,它不是很强的匹配。 此外,它可能会错过可言,像这样:
str='1 2 3 "foo bar" 4 5 6'
我不想用awk,sed或Perl来做到这一点。
在这里看到我的回答 - HTTP:// stackoverflow.com/questions/12821302/split-a-string-only-by-spaces-that-are-outside-quotes - 它确实是你要求 – 2012-10-10 21:27:57