我有一个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?
答案 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列。