簡體   English   中英

如何在 Powershell 中查找和替換字符串

[英]How Do I Find And Replace String in Powershell

我想在字符串中查找所有需要的字符並替換其中的一些...例如:“Facebook”有兩個“o”。 但我想替換最后一個“o”字符示例:“Facebook”->“Facebo0k”

Powershell 內置了用於字符串的正則表達式運算符,例如:

$String = "Facebook" 
$String -replace "oo","o0"

此代碼示例將用“o0”替換任何“oo”實例。

如果要替換行中最后一次出現的特定字符,可以使用前瞻和行尾錨。

$str = "A line with the word facebook in it."

$str -Replace 'o(?=[^o]+$)','0'

A line with the word facebo0k in it.

另一個例子

$str = "A line with the word facebook and another word"

$str -Replace 'o(?=[^o]+$)','0'

A line with the word facebook and another w0rd

這是我對這種正則表達式模式的最佳解釋。

  • $行尾錨。
  • (?=)我們正在展望未來。 在這種情況下,我們實際上是在尋找行尾以確保它是行中的最后一個o
  • [^o]+這表示“不是字符o1 次或多次”。 由於o可能不是該行的最后一個字符,因此它涵蓋了目標o和行尾之間的任何字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM