我有這個字符串:如何選擇替代空間與猛砸字符串只
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