【问题标题】:Powershell split string on multiple conditionsPowershell 在多个条件下拆分字符串
【发布时间】:2016-01-21 13:15:23
【问题描述】:

我有一个 csv 文件,我在其中从列中提取名字和姓氏,以将它们分隔到各自的列中。

所以给定字符串:

'John Doe - Generic- Random'

我会使用split(" ") 来提取名字和姓氏

$string = 'John Doe - Generic- Random'
$firstName = $string.split(" ")[0]
$lastName = $string.split(" ")[1]

第一期

我发现了一个问题,在姓氏之后,有时字符串没有空格。例如

$string = 'John Doe-Generic-Random'

如果没有其他名字,我如何获得姓氏Doe。如何将拆分应用于" ""-" 两个条件

第二期

有些字符串只有名字。比如……

$string = 'John - Generic - Random

如果是这种情况,如何将姓氏指定为 $null?

【问题讨论】:

    标签: powershell powershell-3.0


    【解决方案1】:

    看起来这正在工作......

    $string = 'John Doe - Generic- Random'
    $firstName = $string -split {$_ -eq " " -or $_ -eq "-"}
    $firstName[0]
    
    $lastName = $string -split {$_ -eq " " -or $_ -eq "-"}
    $firstName[1]
    

    如果没有姓氏,则在姓氏列中为空白。

    如果lastName-Info之间有姓氏但没有空格,则会排除-Info并将lastName添加到Last Name列中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多