在 PowerShell 中替換字串
- PowerShell 字串簡介
-
在 PowerShell 中使用
replace()
函式 -
使用 PowerShell 中的
replace()
函式刪除字元 -
使用 PowerShell 中的
replace()
函式替換多個例項字串 - 使用 PowerShell 替換運算子
- 在 PowerShell 中使用替換運算子刪除字元
- 在 PowerShell 中使用替換運算子替換多個例項字串
PowerShell 可以像許多語言一樣處理字串和文字。其中一項有價值的功能是使用 PowerShell 替換檔案中的字元、字串或文字。
本文將討論 PowerShell replace()
方法和 PowerShell 替換運算子。
PowerShell 字串簡介
使用 PowerShell 最直接的案例之一是替換字串中的字元。假設我們有一個帶有 hello, world
值的 PowerShell 字串。
示例程式碼:
$string = 'hello, world'
我們想用字串 hi
替換該變數中的字串 hello
,以將 $string
變數更改為最終值為 hi, world
。
為此,PowerShell 首先需要確定在哪裡可以找到要替換的特定文字,一旦找到,它就會用自定義的使用者定義的變數值替換文字。
在 PowerShell 中使用 replace()
函式
在 Windows PowerShell 中替換字串的一種便捷方法是使用 replace()
函式,如下所示。replace()
函式有兩個引數,要查詢的字串和要替換找到的文字的字串。
正如我們在下面看到的,Windows PowerShell 找到字串 hello
並將該字串替換為字串 hi
。然後該方法返回最終結果 hi, world
。
示例程式碼:
$string.replace('hello','hi')
輸出:
hi, world
我們可以在任何字串上呼叫 replace()
方法來用另一個字串替換任何文字字串。如果未找到要替換的字串,則 replace()
方法不返回任何內容。
值得注意的是,我們不需要將字串分配給變數來替換字串中的文字。相反,我們可以直接在字串上呼叫 replace()
方法,例如:'hello world'.replace('hello','hi')
。
使用 PowerShell 中的 replace()
函式刪除字元
也許我們想從另一個字串中刪除一個字串中的字元,而不是用其他東西替換它。我們也可以通過指定一個空字串來做到這一點。
示例程式碼:
$string.replace('hello','')
輸出:
, world
使用 PowerShell 中的 replace()
函式替換多個例項字串
由於 replace()
函式返回一個字串,要替換另一個例項,你可以在末尾附加另一個 replace()
函式呼叫。然後 Windows PowerShell 在原始輸出上呼叫 replace()
方法。
示例程式碼:
$string.replace('hello','').replace('world','globe')
輸出:
, globe
我們可以根據需要將儘可能多的 replace()
函式呼叫連結在一起,但是如果我們有很多字串要替換,我們應該考慮使用替換運算子。
使用 PowerShell 替換運算子
我們還可以使用 Windows PowerShell -replace
運算子來替換文字。 -replace
操作符有類似的方法。
我們提供了一個字串來查詢和替換。使用上面的示例,我們可以使用 replace 運算子將 hello 替換為 hi 類似,如下所示。
示例程式碼:
$string -replace 'hello','hi'
輸出:
hi, world
在 PowerShell 中使用替換運算子刪除字元
與 replace()
函式一樣,你也可以使用替換運算子從字串中刪除字元。但是,與 replace()
方法不同,你也可以完全排除字串作為要替換的引數,並且你會發現相同的效果。
示例程式碼:
$string -replace 'hello',''
輸出:
, world
在 PowerShell 中使用替換運算子替換多個例項字串
與 replace()
方法一樣,你也可以將替換運算子的用法連結在一起。但是,由於替換運算子返回一個字串,如下所示。
示例程式碼:
$string -replace 'hello','hi' -replace 'world','globe'
輸出:
hi, globe
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn