假設有一個字串
"PowerShell                                      is                     fun!"
我們想要去除字與字之間的多餘空白
使字與字之間僅有一個空白
"PowerShell is fun!"

我們可以怎麼做呢?
在Hey, Scripting Guy!專欄中,有VBscript的解法
而若使用PowerShell則僅需一行即可解決喔!!

"PowerShell                                      is                     fun!" -replace "\s+"," "

整句的意思是:
"PowerShell                                      is                     fun!" 字串中
一個以上的空白置換成一個空白

解釋如下:
我們使用-replace 置換多餘的空白
他具有regular expression能力
\s+ 代表一個以上的空白
" "     代表一個空白

 

[]
若字串中頭尾也有空白,並且想要去除頭尾所有的空白,則可再經過以下的處理
"已處理字串間多餘空白的字串" -replace "^\s+|\s+$",""
^\s+ 代表起始的所有空白
| 代表或
\s+$ 代表結尾的所有空白
"" 代表空字串


創作者介紹

PowerShell@HungYuWu

ayowu 發表在 痞客邦 PIXNET 留言(0) 人氣()