在 PowerShell 中替换字符串

Marion Paul Kenneth Mendoza 2023年1月30日
  1. PowerShell 字符串简介
  2. 在 PowerShell 中使用 replace() 函数
  3. 使用 PowerShell 中的 replace() 函数删除字符
  4. 使用 PowerShell 中的 replace() 函数替换多个实例字符串
  5. 使用 PowerShell 替换运算符
  6. 在 PowerShell 中使用替换运算符删除字符
  7. 在 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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

相关文章 - PowerShell String