我遇到了一个问题,我编写了一个用于拆分Sharepoint特定ID的快速函数({id};#{name}):
function GetOnlyValue {
param(
[string] $fullValue
)
if(![string]::IsNullOrEmpty($fullValue))
{
# On regarde si on a la valeur
if($fullValue -Like "*;#*")
{
$array = $fullValue -split ";#", 2, "simplematch"
return $array[-1]
}
}
return $fullValue
}
但是这个函数完成了一半的工作,因为,例如,当我传递一个像这样形成的值时:myId; #myName函数返回给我这个值:“#myName”而不是“myName”。
感谢您的帮助!
2016年2月2日编辑:此功能包含在我在脚本中导入的模块中。我使用它与Sharepoint 2013网站相关联,浏览SPList的每个SPListItem:
$formation = GetOnlyValue -fullValue $spItem["Formation"]
答案 0 :(得分:1)
我将正则表达式与捕获组一起使用:
function GetOnlyValue
{
Param
(
[string]$fullValue
)
if($fullValue -match '(.*);#(.*)'){
$Matches[2]
}
}
答案 1 :(得分:0)
我无法重现您的问题,但您可以使用-replace
:
function GetOnlyValue {
param(
[string] $fullValue
)
$fullValue -replace '^.*#'
}