当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

作者:精品下载站 日期:2024-12-14 04:59:35 浏览:15 分类:玩电脑

PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?


[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

PowerShell 中的字符串简介

字符串被视为字符序列,是 PowerShell 中的数据类型之一。它的对象类型是System.细绳。当我们提到字符串时,双引号或单引号中的所有内容都被视为字符串;它们之间的唯一区别是字符串内变量的表示。在 PowerShell 中,几乎每个输出都可以转换为 String 对象。

如何在 PowerShell 中声明字符串?

在 PowerShell 中,双引号或单引号内提到的任何内容都被视为字符串;在这两种情况下,字符串内只有变量表示不同。有几种方法可以用来声明字符串。首先,可以直接将字符串赋值给变量,变量的数据类型就变成字符串。例如,这里,$var 现在是一个字符串变量。您可以检查其数据类型。

代码:

$var = "This is a string"
$var.GetType()

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

声明字符串的第二种方法是显式的。在这里,您将变量转换为字符串。下面的方法一般用在函数和高级函数中声明参数时。

代码:

[String]$var1 = "This is a string"

在 PowerShell 中使用字符串执行的操作

要检查 PowerShell 可以对字符串执行哪些操作,您必须通过管道传输 Get-Member 命令并检查方法。

代码:

$var | Get-Member

我们在这里一一讨论操作。

1. 检查字符串的长度

您可以使用字符串的 Length 函数检查字符串长度或字符串中所需的字符数。

代码:

$var = "This is a test string"
$var.Length

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

2. 字符串的分割操作

对字符串应用分割操作会将字符串从提到分割字符的地方分割成多行。让我们以我们的环境 PS 模块路径为例,

代码:

$env:PSModulePath

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

我们想要分割上面输出中的路径。

代码:

($env:PSModulePath).Split(';')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

同样,您可以使用不同的分割字符将字符串分割成所需的输出。

3. 字符串的连接操作

当您对字符串使用 Join 操作时,它会连接两个字符串。

代码:

"Hello" + " World"

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

您可以使用的另一种方法是加入命令。

代码:

$a = "Hello"
$b = "World"
$a,$b -join(' ')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

如果要使用 ‘#’ 字符连接两个字符串,请将 ‘#’ 放入 Join 函数中。

代码:

$a = "Hello"
$b = "World"
$a,$b -join('#')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

您也可以连接两个以上的字符串。

代码:

$a = "Hello"
$b = "World"
$c = "Delta"
$a,$b,$c -join('#')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

您还可以使用 Concat 方法连接字符串。

代码:

$a = "Hello"
$b = "World"
$c = "Delta"
[System.String]::Concat($a,$b,$c)

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

4. 字符串的子字符串操作

字符串中的子字符串命令用于提取字符串的一部分。它适用于索引。在字符串中,索引从0开始。

代码:

$var = "This is a string"
$var.Substring(0,5)

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

要提取整个字符串,

代码:

$var = "This is a string"
$var.Substring(0,$var.Length)

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

5. 包含字符串操作

Contain 函数应用于字符串时,检查字符串中是否存在特定单词。该函数区分大小写。输出将采用布尔(TRUE/FALSE)格式。

代码:

$var = "This is a string"
$var.Contains("this")
$var.Contains("This")

输出将分别为 False 和 True。由于此方法区分大小写,因此当函数匹配“this”时,它无法识别字符串中的部分。

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

您还可以验证字符串中单词的部分。

代码:

$var = "This is a string"
$var.Contains("ring")

输出将为 True。

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

6. 字符串的大小写操作

您可以将整个字符串转换为大写或小写。

代码:

$var = "This is a string"
$var.ToUpper()
$var.ToLower()

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

7. 字符串的修剪操作

PowerShell中的修剪操作用于修剪或删除字符串开头和结尾的空格或特定字符。例如,

仅对字符串使用 Trim() 函数将删除字符串开头和结尾的空格。当您在函数内使用任何字符时,此操作区分大小写。

代码:

(" Hello World ").Trim()

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

要从两端修剪特定字符,

代码:

("Hello World").Trim('H') #Removes the 'H' from the beginning
("Hello World").Trim('Hd') #Removes the 'H' from the beginning and 'd' from the end.
("Hello World").Trim('e') #Removes nothing as 'e' is not beginning or the end of the string

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

TrimStart() 和 TrimEnd() 函数还分别删除字符串开头和结尾的空格或特定字符。

TrimStart() 示例,

代码:

("Hi, this ends with H").TrimStart('H')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

TrimEnd() 示例,

代码:

("Sir, this ends with S").TrimEnd('S')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

当您同时提及多个字符时,该操作会将它们删除。

代码:

("Hello World").TrimStart("Hel")
("Hello World").TrimEnd("ld")

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

8. 字符串的替换操作

替换操作可用于字符串命令来替换特定字符或字符集。此操作不区分大小写。以下命令将用空字符替换“N”。

代码:

("New PowerShell version is 7.0") -Replace ("N","")

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

您可以将空格替换为特定字符。

代码:

("New PowerShell version is 7.0") -Replace (' ','#')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

也可以替换这个词,

代码:

("New PowerShell version is 7.0") -Replace ('PowerShell','Python')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

9. 字符串的索引操作

PowerShell 中的索引操作用于查找字符串中特定字符的位置。索引从 0 开始。IndexOf() 操作查找字符的第一次出现。

代码:

("New PowerShell version is 7.0").IndexOf('P')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

LastIndexOf() 查找最后一次出现的字符。

代码:

("New PowerShell version is 7.0").LastIndexOf('n')

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

10. 将对象转换为字符串

要将任何对象转换为字符串数据类型,请使用 ToString() 命令。在下面的示例中,我们将把整数值转换为字符串。

代码:

$intvar = 12345
$intvar.GetType()

如果检查 $intvar 的数据类型,它将是 Integer 类型。

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

要将上面的变量转换为字符串,

代码:

$intvar = 12345
$intvar = $intvar.ToString()
$intvar.GetType()

输出:

[玩转系统] PowerShell 中的字符串 |如何在powershell中使用操作声明一个字符串?

结论

字符串操作在 PowerShell 脚本编写中经常使用,因为它很容易对行数执行操作并提取数据。在 PowerShell 中,大多数输出都是字符串格式或可以转换为字符串。当通过 Get-Content 或 XML 进行大量数据提取时,另一个管道 cmdlet Select-String 可有效地处理字符串操作。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯