arrays - Powershell在每行字符的最后一个实例上拆分

标签 arrays powershell split

我正在尝试使用 Powershell 在每行最后一次出现分隔符 (/) 时拆分字符串数组。一个示例输入数组:

classes/CaseHandler.cls
email/Insurance_Templates/Policy_Amend_Approval_Request.emailcode here

运行命令 $arr -split '/' 给出以下结果:

classes
CaseHandler.cls
email
Insurance_Templates
Policy_Amend_Approval_Request.email

这对于类文件来说很好,因为我需要第一行的文件夹路径和第二行的文件名。但是,输入中有许多文件具有更深的文件路径。我正在寻找一种方法来仅在 / 字符的最后一次出现时拆分数组的每一行。所需的输出是:

classes
CaseHandler.cls
email/Insurance_Templates
Policy_Amend_Approval_request.email

我尝试了许多使用子字符串方法的方法,但不知道如何将其合并到逐行拆分数组中。对此的任何帮助将不胜感激。

最佳答案

由于您正在处理文件名,因此您应该使用 Split-Path cmdlet:

PS> $paths = "classes/CaseHandler.cls", `
             "email/Insurance_Templates/Policy_Amend_Approval_Request.emailcode"

获取目录部分:

PS> $paths | Split-Path
classes
email\Insurance_Templates

获取文件部分:

PS> $paths | Split-Path -Leaf
CaseHandler.cls
Policy_Amend_Approval_Request.emailcode

然后将它们组合在一起以获得您所追求的格式:

PS> $paths | % { Split-Path $_ ; Split-Path -Leaf $_ }
classes
CaseHandler.cls
email\Insurance_Templates
Policy_Amend_Approval_Request.emailcode

关于arrays - Powershell在每行字符的最后一个实例上拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39307321/

相关文章:

哈希表的 Powershell 数组

powershell - 有没有办法用我自己的根证书生成自签名证书(X509 v3 与主题备用名称)来替换 MakeCert.exe

python re.compile 并用 ÆØÅ 字符分割

php - 迭代 JSON 对象内的数组

c++ - 是否可以保证包含数组的类的大小?

xml - 如何在 Powershell 中迭代 Xml.XmlElement 的不规则命名的子项?

java - 使用 Java 或 JSON 进行拆分

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

java - 检查数组中是否存在某个值

java - 如何将 String#split 与反斜杠字符一起使用?