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

[玩转系统] PowerShell - 将字符串拆分为变量 [3 种方法]

作者:精品下载站 日期:2024-12-14 05:27:05 浏览:14 分类:玩电脑

PowerShell - 将字符串拆分为变量 [3 种方法]


[玩转系统] PowerShell - 将字符串拆分为变量 [3 种方法]

使用 Split() 方法

使用 Split() 方法将给定字符串拆分为两个变量。

使用 Split() 将字符串拆分为两个变量:

$string = "This is a sample string"
$var1_string, $var2_string = $string.Split(" ", 2)
$var1_string
$var2_string

输出 :

This
is a sample string

Split() 方法用于将指定字符串拆分为两个/多个变量和子字符串数组。在上面的示例代码中,Split() 方法采用两个参数,空格作为分隔符(您可以使用 -.: 或其他)和 2 作为分割后子字符串的最大数量。

此方法在查找第一次出现的指定分隔符(本例中为空格)的位置拆分 $string,并将第一个子字符串存储在 $var1_string 中,将第二个子字符串存储在 $var2_string 变量。同样,我们可以使用此方法将 $string 拆分为多个变量。

使用 Split() 方法将给定字符串拆分为多个变量。

使用 Split() 将字符串拆分为多个变量:

$string = "This is a sample string"
$var1_string, $var2_string, $var3_string = $string.Split(" ", 3)
$var1_string
$var2_string
$var3_string

输出 :

This
is
a sample string

对于此示例,Split() 方法将空格作为分隔符,将 3 作为拆分后子字符串的最大数量。此处,$string 将在第一次和第二次出现指定分隔符时进行拆分,并将第一个、第二个和第三个子字符串保存在 $var1_string 中, $var2_string$var3_string 变量。请注意,所有这三个变量都是String 数据类型。您可以将 GetType() 方法链接为 $var2_string.GetType() 来检索指定变量的数据类型。

使用 Split() 方法将给定字符串拆分为子字符串数组。

使用 Split() 将字符串拆分为子字符串数组:

$string = "This is a sample string"
$Array = $string.Split(" ")
$Array

输出 :

This
is
a
sample
string

在此代码块中,Split() 方法仅接受一个参数:分隔符,并在找到匹配项的位置拆分 $string。在本例中,Split() 方法返回一个子字符串数组。请注意,我们可以使用 $string.Split() 代替 $string.Split(" "),两者是等效的,因为默认分隔符是空格(制表符/换行符) /空间)。

请记住,Split() 方法区分大小写,这意味着字母 Ss 会有所不同。请看下面的例子来理解。

使用 Split() 将字符串拆分为子字符串数组:

$string = "This is a Sample string"
$string.Split("S", 2)

输出 :

This is a
ample string

正如我们所看到的,Split() 方法仅在找到大写 S 字母的地方拆分 $string 并忽略小写 s。因此,如果我们需要忽略小写/大写字母,则必须使用 -Split 运算符,下一节将通过代码示例进行演示。

Split() 方法始终返回子字符串数组。这取决于我们如何对待他们。例如,如果我们将字符串拆分并将子字符串保存到两个或多个变量中,则每个变量将包含一个字符串类型值。另一方面,如果我们将结果子字符串保存到一个变量中,它将被视为字符串值数组。

使用 -Split 运算符

使用-Split运算符将给定字符串拆分为两个变量。

使用 -Split 将字符串拆分为两个变量:

$string = "This is a sample string"
$var1_string, $var2_string = $string -Split " ", 2
$var1_string
$var2_string

输出 :

This
is a sample string

在这里,我们使用带有两个参数(分隔符和子字符串的最大数量)的 -Split 运算符,将指定的字符串拆分为两个变量。它的工作原理类似于我们在上一节中学习的 Split() 方法,但允许我们做一些额外的事情;例如,我们可以使用脚本块,使用 IgnoreCase 等选项指定条件,我们稍后将在本文中学习这些内容。

使用-Split运算符将给定字符串拆分为多个变量。

使用 -Split 将字符串拆分为多个变量:

$string = "This is a sample string"
$var1_string, $var2_string, $var3_string = $string -Split " ", 3
$var1_string
$var2_string
$var3_string

输出 :

This
is
a sample string

此代码与前面的示例类似,但我们将 $string 拆分为三个变量,其中每个变量 ($var1_string$var2_string$var3_string) 是 String 数据类型。

使用-Split运算符将给定字符串拆分为子字符串数组。

使用 -Split 将字符串拆分为子字符串数组:

$string = "This is a sample string"
$Array = $string -Split " "
$Array

输出 :

This
is
a
sample
string

对于上面的代码,我们使用-Split运算符根据指定的分隔符(delimiter)分割整个$string。我们还可以用 -cSplit-iSplit 替换任何二进制 split 语句(包含脚本块或分隔符)。

这里,-Split-iSplit不区分大小写,而-cSplit区分大小写,这意味着应用时会考虑大小写分隔符规则(分隔符规则)。请参阅以下示例。

使用 -Split 和 -iSplit 运算符:

$string = "This is a Sample string"
$var1, $var2 = $string -Split "s", 2
$var1, $var2
$var1, $var2 = $string -iSplit "S", 2
$var1, $var2

输出 :

Thi
 is a Sample string
Thi
 is a Sample string

看,使用 -Split-iSplit 得到了相同的结果,因为两者都是不区分大小写的运算符,而 -cSplit 负责较低的操作/ 大写,同时应用分隔符规则。请参阅以下示例。

使用 -cSplit 运算符:

$string = "This is a Sample string"
$var1, $var2 = $string -cSplit "s", 2
$var1, $var2
$var1, $var2 = $string -cSplit "S", 2
$var1, $var2

输出 :

Thi
 is a Sample string
This is a
ample string

在这里,我们使用了 -cSplit 两次。首先,当它找到s时它就分裂;其次,当它找到S时它就分裂了。假设您必须使用 -cSplit 运算符但必须忽略大小写的情况。在这种情况下,Options 就派上用场了。请参阅以下示例,以在使用 -cSplit 运算符时忽略大小写。

使用 -cSplit 运算符:

$string = "This is a Sample string"
$var1, $var2 = $string -cSplit "s", 2, "IgnoreCase"
$var1, $var2
$var1, $var2 = $string -cSplit "S", 2, "IgnoreCase"
$var1, $var2

输出 :

Thi
 is a Sample string
Thi
 is a Sample string

在这里,当与 IgnoreCase 选项一起使用时,-cSplit 不关心大小写,该选项是 SimpleMatch 的一部分。现在,我们还有其他选择吗?是的,我们愿意。 SimpleMatch 选项包括 IgnoreCaseSimpleMatch

RegexMatch 选项包括 IgnoreCaseRegexMatchExplicitCaptureCultureInvariantIgnorePatternWhitespaceMultilineSingleline,您可以在此处找到它们的详细说明。

-Split 运算符与脚本块结合使用,将给定字符串拆分为子字符串数组。

将 -Split 运算符与 ScriptBlock 结合使用:

$string = "This is a Sample string"
$Array = $string -Split {$_ -eq "s" -or $_ -eq "p"}
$Array

输出 :

Thi
 i
 a
am
le
tring

这里,我们使用了一个以 {} 表示的脚本块,它指定了两个条件,并检查当前字符是否等于 sp 。我们使用 -eq 运算符检查相等性,而 -or 运算符执行 OR 运算。如果至少有一个条件为 true,则 OR 运算结果为 true。请注意,如果脚本块返回 true-Split 运算符仅拆分 $string

使用 ForEach 循环

使用 ForEach 循环将给定字符串拆分为子字符串数组。

使用 ForEach 循环:

$string = "This is a Sample string"
$Array = $string | foreach split " "
$Array

输出 :

This
is
a
Sample
string

在这里,我们使用 ForEach 循环(也称为 ForEach 语句)来迭代 String 类型对象,即 $字符串。 每次迭代都会在找到指定分隔符的位置拆分字符串,并返回子字符串数组。

这就是如何在 PowerShell 中将字符串拆分为变量的全部内容。

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

取消回复欢迎 发表评论:

关灯