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

[玩转系统] PowerShell 通过多个分隔符分割字符串 [4 种方法]

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

PowerShell 通过多个分隔符分割字符串 [4 种方法]


[玩转系统] PowerShell 通过多个分隔符分割字符串 [4 种方法]

-split 运算符与正则表达式结合使用

在 PowerShell 中使用 -split 运算符和正则表达式来按多个分隔符分割字符串。

将 -split 运算符与正则表达式结合使用:

$string = "one,two;three four"
$delimiters = "[,; ]+"
$parts = $string -split $delimiters
$parts

输出 :

one
two
three
four

首先,定义一个名为 $string 的字符串变量和一个名为 $delimiters 的数组变量。然后,$string 被赋值为 "one,two;third four",而 $delimiters 被设置为 "[, ;]+“

之后,对名为 $string 的字符串变量使用 -split 运算符,并将 $delimiters 变量作为参数传递。生成的输出是一个数组,其中包含按指定分隔符分割的字符串的各个部分。

如果您想删除条目,可以使用 where-object cmdlet。

将 -split 运算符与Where-Object Cmdlet 结合使用:

$string = "one,two;three four"
$delimiters = "[,; ]+"
$parts = $string -split $delimiters | Where-Object { $_ -ne "" }
$parts

输出 :

one
two
three
four

在上面的示例中,我们使用 Where-Object cmdlet 来选择给定数组的所有子字符串,不包括空元素(空子字符串)。如何排除空元素?为此,我们使用条件 {$_ -ne ""} 来确定当前元素 ($_) 是否不等于 (-ne )一个空字符串("")。最后,结果数组存储在 $parts 变量中。

使用Regex.Split()方法

使用 Regex.Split() 方法在 PowerShell 中按多个分隔符分割字符串。

使用 Regex.Split() 方法:

$string = "one,two;three four"
$delimiters = "[,; ]+"
$parts = [Regex]::Split($string, $delimiters)
$parts

输出 :

one
two
three
four

首先,为 PowerShell 变量 $string 分配一个 with 字符串,即 "one,two;third four" 和分隔符 "[,; ]+" / 被分配给 $delimiters 变量。

之后,为了分割字符串,此解决方案中使用了 Regex.Split() 方法。最后,$string$delimiters 变量作为参数提供给 Split() 方法。 生成的输出也是一个包含字符串各个部分的数组。

使用 String.Split() 方法

使用 String.Split() 方法在 PowerShell 中按多个分隔符分割字符串。

使用 String.Split() 方法:

$string = "one,two;three four"
$delimiters = @(",", ";", " ")
$parts = $string.Split($delimiters, [System.StringSplitOptions]::RemoveEmptyEntries)
$parts

输出 :

one
two
three
four

该代码定义了一个名为 $string 的字符串变量和一个名为 $delimiters 的数组变量。该字符串包含一系列由逗号、分号和空格分隔的单词,即 "one,two;third four"。该数组包含用于分割字符串的分隔符,即@(",", ";", " ")。然后,对字符串变量 $string 调用 Split() 方法,并将 $delimiters 数组作为分隔符参数传递。

RemoveEmptyEntries 选项删除由连续分隔符或字符串开头或结尾处的分隔符产生的任何空条目。生成的数组存储在 $parts 变量中,然后显示。

使用 System.Text.RegularExpressions.Regex 类

使用 System.Text.RegularExpressions.Regex 类在 PowerShell 中按多个分隔符分割字符串。

使用 System.Text.RegularExpressions.Regex 类:

$string = "one,two;three four"
$delimiters = "[,; ]+"/
$regex = [System.Text.RegularExpressions.Regex]::new($delimiters)
$parts = $regex.Split($string)
$parts

输出 :

one
two
three
four

首先,为 PowerShell 变量 $string 分配一个 with 字符串,即 "one,two;third four"。 之后,分隔符 "[,; ]+"/ 被分配给 $delimiters 变量。然后,创建 Regex 类的实例。 $delimiters 变量作为参数传递给 System.Text.RegularExpressions.Regex 类的 new() 函数。

然后使用 Regex 实例与 Split() 方法来拆分字符串。结果输出也是一个包含字符串各个部分的数组。请注意,上面讨论的所有方法都会产生相同的结果。您可以根据您的要求和偏好选择任何方法。

这就是 powershell 通过多个分隔符分割字符串的全部内容。

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

取消回复欢迎 发表评论:

关灯