【问题标题】:Split a string to multiple strings in powershell在powershell中将一个字符串拆分为多个字符串
【发布时间】:2016-02-21 16:40:56
【问题描述】:

我有类似的字符串

$value = "1;#Mohapatra,Mrutyunjaya (ADM) 10;#Sumit Upadhyay(ADM) 11;#Naidu,Ishan(ADM)"

我要找回

"Mohapatra,Mrutyunjaya (ADM)", "Sumit Upadhyay(ADM)", "Naidu,Ishan(ADM)" 

来自$value

我试过$value.Split(";#")[0]。它只返回第一个参数。但我想要所有的参数

【问题讨论】:

  • 您尝试过哪些我们可以帮助您解决的问题?预计您已经尝试过一些我们可以帮助您解决的问题。
  • 我使用了 $value.Split(";#")[0]。它只返回第一个参数。但我想要所有的参数
  • 试试 $value.split('#').replace(';', '')
  • 如何获取用户值字符串?由于您使用 SharePoint-2010 标记了该问题,我猜测您尝试解析的这些字符串是来自人员或组字段的值。在 Powershell 中,您可以使用$item["Field"][i].LookupValue$item["Field"][i].User.DisplayName 的格式直接访问多选人员或组字段的值,其中i 是大于等于0 且小于$item["Field"].Count 的索引, $item 是一个列表项,Field 是您正在访问的列的内部名称。

标签: powershell sharepoint-2010 powershell-2.0


【解决方案1】:

将字符串拆分为\s*\d+;# 序列(可选空格,后跟数字、分号和哈希字符),并从结果列表中删除空元素:

$value -split '\s*\d+;#' | Where-Object { $_ }

【讨论】:

    【解决方案2】:

    仅供参考,如果您想将每个变量声明为变量,您可以说 $a,$b,$c,$d = $Value -Split (";#")$a$b$c$d 中的每一个都将保留这些值。

    【讨论】:

      猜你喜欢
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 2021-01-30
      相关资源
      最近更新 更多