gpt4 book ai didi

powershell - Powershell split()vs -split-有什么区别?

转载 作者:行者123 更新时间:2023-12-03 00:51:45 28 4
gpt4 key购买 nike

在苦苦挣扎了半小时之后,我在使用空格分割字符串时遇到了这种差异,具体取决于您使用的语法。

简单字符串:

$line = "1: 2: 3: 4: 5: "

拆分示例1 -从1开始注意带有 token 的额外空间:
$ln = $line.split(":\s+")
$ln
1
2
3
4
5

拆分示例2 -空格已消失(应保留)
$ln = $line -split ":\s+"
$ln
1
2
3
4
5

我怀疑这是因为第一个是.NET方法(?),并且在涉及正则表达式解释时, -split PS运算符可能具有更多的功能。

但是,当我尝试使用第一种方法(如 ": ")进行拆分时,该方法也无法正常工作。如果是.NET,是否需要一些东西来正确解释它应该同时使用两个字符作为分隔符的事实?

最佳答案

.Net System.String.Split方法没有使用单个参数(字符串)的重载。它还不了解正则表达式。

发生的情况是,powershell正在接收您要传递的字符串并将其转换为字符数组。它实际上是拆分为以下字符:\s+
当您使用": "作为分隔符时,我想您会得到如下结果

1

2

3

4

5

这是因为没有为.Net方法指定字符串拆分选项,它将包含在相邻分隔符之间找到的空字符串。

关于powershell - Powershell split()vs -split-有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23796959/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com