2017-02-13 149 views
0

鄉親PowerShell的子字符串替換

我無法取代在PowerShell中下面的字符串,一開始我懷疑這是由於正則表達式,並使用[regex]::Escape()來解決\雙斜槓但它仍然無法正常工作。你能建議嗎?

PS C:\User>"C:clog" -replace "C:c" , "" 
PS C:\User>log 
PS C:\User>"C:\\c\\log" -replace "C:\\c\\", "" 
PS C:\User>C:\\c\\log 
+1

您在輸入字符串定義2個反斜線,讓你在需要的模式4:' 「C:\\ \\Ç日誌」 -replace「C:\\\\ c \\\\」,「」' –

+0

Wiktor你是對的,我現在用另外一個[regex] :: Escape()在輸入字符串上實現了。請在答覆中發帖。 – xtechkid

回答

0

使用Split-Path,它是專爲這樣的:

Split-Path "C:\\c\\log" -Leaf 

# returns "log" 
+0

不僅僅是關於提取日誌我有像C這樣的東西:\\ c \\ log \\ loggin \\ logo – xtechkid

+0

然後,如果它更適合您的情況,您可以堅持使用正則表達式。 – sodawillow