Powershell TRIM() 正在删除多余的字符
Powershell TRIM() is removing extra character
我正在尝试从我的 SQL 服务器实例中删除“\MOSS2013”实例名称 "WSFCSQLN1\MOSS2013"
有效:
$primaryReplicaGEN = $wsfcsqln2.AvailabilityGroups.PrimaryReplicaServerName
$primaryReplica = $PrimaryReplicaGEN.TRIM("\GEN")
$primaryReplica 显示 WSFCSQLN1
$primaryReplicaGEN 显示 WSFCSQLN1\GEN
这行不通:
$primaryReplicaMOSS2013 = $wsfcsqln1MOSS2013.AvailabilityGroups.PrimaryReplicaServerName
$primaryReplica = $PrimaryReplicaMOSS2013.TRIM("\MOSS2013")
$primaryReplica 显示 WSFCSQLN
$primaryReplicaMOSS2013 显示 WSFCSQLN1\MOSS2013
请注意副本名称末尾缺少 1,即使我没有选择 trim 它也是如此。为什么 trim 为这个特定的字符串对象输入 1?我怎样才能强制它 trim 正确的字符。
好吧,这就是 trim 的工作原理,它会删除所有出现的所有字符 trim 它可以到达。
"agababga".Trim("ag")
return bab
不是 ababga
,注意它没有 trim a
在 bab
里面,因为它不能 trim b
,如果你这样做:
"agababga".Trim("agb")
你不会得到任何响应(空字符串)
Trim()
将字符串参数转换为 [char[]]
并从字符串的两端删除任何这些字符。
如果只想获取服务器名称,请使用 -split
运算符,然后丢弃实例名称:
$ServerName = 'WSFCSQLN1\MOSS2013' -split '\' |Select-Object -First 1
或
$ServerName,$null = 'WSFCSQLN1\MOSS2013' -split '\'
我会使用 split 调用:
$primaryReplica = $PrimaryReplicaGEN.split('\')[0];
你也可以像这样使用convertfrom-string
$SplitedVar='WSFCSQLN1\MOSS2013' | ConvertFrom-String -Delimiter "\" -PropertyNames "Domain", "ServerName"
$SplitedVar.Domain
$SplitedVar.ServerName
我正在尝试从我的 SQL 服务器实例中删除“\MOSS2013”实例名称 "WSFCSQLN1\MOSS2013"
有效:
$primaryReplicaGEN = $wsfcsqln2.AvailabilityGroups.PrimaryReplicaServerName
$primaryReplica = $PrimaryReplicaGEN.TRIM("\GEN")
$primaryReplica 显示 WSFCSQLN1
$primaryReplicaGEN 显示 WSFCSQLN1\GEN
这行不通:
$primaryReplicaMOSS2013 = $wsfcsqln1MOSS2013.AvailabilityGroups.PrimaryReplicaServerName
$primaryReplica = $PrimaryReplicaMOSS2013.TRIM("\MOSS2013")
$primaryReplica 显示 WSFCSQLN
$primaryReplicaMOSS2013 显示 WSFCSQLN1\MOSS2013
请注意副本名称末尾缺少 1,即使我没有选择 trim 它也是如此。为什么 trim 为这个特定的字符串对象输入 1?我怎样才能强制它 trim 正确的字符。
好吧,这就是 trim 的工作原理,它会删除所有出现的所有字符 trim 它可以到达。
"agababga".Trim("ag")
return bab
不是 ababga
,注意它没有 trim a
在 bab
里面,因为它不能 trim b
,如果你这样做:
"agababga".Trim("agb")
你不会得到任何响应(空字符串)
Trim()
将字符串参数转换为 [char[]]
并从字符串的两端删除任何这些字符。
如果只想获取服务器名称,请使用 -split
运算符,然后丢弃实例名称:
$ServerName = 'WSFCSQLN1\MOSS2013' -split '\' |Select-Object -First 1
或
$ServerName,$null = 'WSFCSQLN1\MOSS2013' -split '\'
我会使用 split 调用:
$primaryReplica = $PrimaryReplicaGEN.split('\')[0];
你也可以像这样使用convertfrom-string
$SplitedVar='WSFCSQLN1\MOSS2013' | ConvertFrom-String -Delimiter "\" -PropertyNames "Domain", "ServerName"
$SplitedVar.Domain
$SplitedVar.ServerName