回答
一樣容易:
$ src=" some text "
$ dst=" $(echo $src)"
$ echo ":$dst:"
: some text:
$(echo $src)
將擺脫所有的周圍空間。 比你只需在它之前添加多少空間。
你是怎麼叫出這個字符串的?如果它是一個回聲你可以把
Echo "<2 spaces>". "string";
,如果它是你只要把第一qoute和字符串之間的2個空格正常的字符串。使用GNU sed
"<2spaces> string here"
方式一:
sed 's/^[ \t]*/ /; s/[ \t]*$//' file.txt
你可以申請這一個bash變量是這樣的:
echo "$string" | sed 's/^[ \t]*/ /; s/[ \t]*$//'
,並保存它是這樣的:
variable=$(echo "$string" | sed 's/^[ \t]*/ /; s/[ \t]*$//')
說明:
第一個替換將刪除所有前導空白並將其替換爲兩個空格。 第二個替換將簡單地從行中刪除所有滯後的空白。
謝謝,忘了提及我更喜歡純粹的打擊 –
我會毫不猶豫地調用'sed' – Steve
最簡單的可能是使用外部進程。
value=$(echo "$value" | sed 's/^ *\(.*[^ ]\) *$/ \1/')
如果你需要一個空字符串變換成兩個空間,你需要修改的正則表達式;如果你不在Linux上,你的sed
方言可能會略有不同。爲了獲得最大的便攜性,請切換到awk
或Perl,或者在Bash中完成所有操作。這會變得更復雜一些,但是一開始,trailing=${value##*[! ]}
包含任何尾隨空格,您可以使用${value%$trailing}
對其進行修剪,對於前導空格也是如此。有關詳細信息,請參閱Bash手冊中有關變量替換的部分。
您可以使用正則表達式來匹配前導空格和尾隨空格之間的所有內容。匹配的文本可在BASH_REMATCH
數組中找到(匹配第一個括號組的文本位於元素1中)。
spcs='\ *'
text='.*[^ ]'
[[ $src =~ ^$spcs($text)$spcs$ ]]
dst=" ${BASH_REMATCH[1]}"
- 1. 如果字符串恰好包含2個空格,請刪除第一個空格
- 2. 輸出帶前導空格的字符串以保存空格
- 3. 在ruby中的字符串之前和之後添加空格?
- 4. 如何在字符串中添加多個空格(空格?)?
- 5. 如何在字符串啓動之前獲取空格數
- 6. ,必須與文本之間沒有空格的字符串,但可能具有前導空格/零
- 7. 在某些字符之前在字符串中添加空格
- 8. 在保存之前將空字符串轉換爲零
- 9. 在每個單詞之前在字符串中添加空格
- 10. 格式規格顯示空白(空字符串)爲零(0)
- 11. 如何刪除字符串中的前導字符和尾字符以及多個空格處的空格?
- 12. 在C++中獲取2個空格之間的字符串
- 13. 如何獲取字符串中的前導空格和尾隨空格java
- 14. PHP:在問號mark_之前替換字符串末尾的空格(空格)?
- 15. 在空格前提取字符串
- 16. 用前導空格分隔字符串有什麼好處?
- 17. 如何用一個空格替換空格字符串
- 18. 如何編輯4個空格但保存2個空格?
- 19. Python在字符串中保留空格
- 20. 如何在字符串的字符之間插入空格
- 21. 刪除多個空格字符之前和之後PHP
- 22. 從長字符串空格中刪除單個空格字符
- 23. 如何在字符串後添加空格並刪除空格?
- 24. PHP preg_match確保字符之間只允許有一個空格字符
- 25. SQL:在字符串中的數字之前插入空格
- 26. 在字符串中的空格之前添加字母
- 27. 如何將字符串[]與空格在
- 28. Python - 如何刪除漢字之間的空格,同時保留字符和數字之間的空格?
- 29. 如何在字符串的第一個項目之前刪除空格?
- 30. Javascript - 如何在字符串中查找子字符串並檢查它之前/之後是否有空格?
該字符串是否可以包含空格appart from trailing and leading ones? –
當然,它可能包含很多「之間」的空間 –