我正在使用PowerShell脚本,在该脚本中,我使用以下格式输入长字符串(来自CSV文件):第一组名称第二组名称第三组名称...我正在尝试与解析($entry.'Group Name').split("`n ") | %{ if ($_) { # Do something with the group name $_ }}我想得到像这样的输出:第一组名称第二组名称第三组名称...但结果如下:集团的一个名称组两个...
3 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
中的string参数String.Split()是要分割的字符列表,而不是要匹配然后分割的字符序列。您现有的代码将在换行符上分割,并在空间上分割。
如果只想在换行符上分割,请使用:
.split("`n")
如果要在换行符的字符序列上进行分割,然后紧跟一个空格,则可以使用Regex.Split():
[Regex]::Split($entry.'Group Name',"`n ") | ...
或者,您可以使用-split运算符,该运算符还会按字符串而不是字符列表进行拆分:
$entry.'Group Name' -split "`n "
湖上湖
TA贡献2003条经验 获得超2个赞
如果我没看错,则您的呼叫同时.Split
传入`n
了空格字符。因此,您实际上是在要求PowerShell将一个类似的字符串"Group One Name"
转换成一个类似这样的列表@("Group", "One", "Name")
。
如果$entry
是单个记录,并且您对“组名”,“组二名”和“组三名”中的每一个都运行一次此行,那么您可能根本不需要调用.Split
-只需使用$entry.'Group Name'
直。
添加回答
举报
0/150
提交
取消