powershell - 由包含空格的字符串拆分的 Split 方法

标签 powershell split

抱歉,如果这是一个明显的问题,但我已经尝试了很多方法来完成这项工作......在 VB(我更熟悉)中,我相信它会很好。

我试图用 e 分隔符“- ”分割一个字符串。
空格很重要,因为在字符串的其他地方有“-”,但不能被分隔。

"This-string - contains - some-hyphens".Split(' - ')

这应该(在我的大脑中)返回 3 个元素:

这个字符串
包含
一些连字符

不幸的是,根据我如何玩 Split,我得到了 9+ 个元素。方法。

这个
字符串

包含

一些
连字符

它显然在 - 上 split 独自一人,但似乎也在空间上 split ,而忽略了 ' - '格式。

主要次要构建修订
----- ----- ----- --------
5 1 17134 228

最佳答案

String.Split method overload you're using接受 char[] ,所以 powershell 很好,可以为您拆分字符串。如果要使用字符串,则需要通过 StringSplitOptions :

'This-string - contains - some-hyphens'.Split((,' - '), [StringSplitOptions]::RemoveEmptyEntries)

在测试中,我需要使用一元数组运算符 ,强制解析器使用正确的重载。

更强大的方法是使用 -split使用正则表达式操作的运算符:
'This-string - contains - some-hyphens' -split ' - '

关于powershell - 由包含空格的字符串拆分的 Split 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52745204/

相关文章:

powershell,如何仅给定父进程ID来获取子进程ID

azure - 如何在 Azure PowerShell Runbook 上应用 SharePoint 网站模板?

powershell - 加快WMI查询以选择单个远程打印机

r - 使用所有因素(包括缺失因素)合并拆分的 xts 列表

azure - 使用 Azure CLI 注册应用程序后在 PowerShell 中创建管理员同意会出错

windows - 如何使用windows cmd查看用户权限?

JavaScript - 通过多个正则表达式模式拆分字符串返回不需要的值

MYSQL SUBSTRING_INDEX 提取列的每个不同字符串

php - 在分号上拆分 php 中的 sql 语句(但不在引号内)

python - 在没有多重索引的情况下分割 Pandas 系列