我正在尝试修剪文本字符串中某个字符的右侧。
目前我正在使用
$string = "1500 pixels"
$string.Trim(" pixels")
这样可以正常工作并返回1500
但如果最后一个字符不是" pixels"
则会失败。如何修剪" "
的右侧?
答案 0 :(得分:6)
Split()
方法可以为您执行此操作,它使用分隔符将字符串拆分为数组。
使用空格" "
作为分隔符拆分字符串,然后使用[0]
返回数组的第一个元素 - 在您的示例中为1500
:
$string = "1500 pixels"
$string.Split(" ")[0]
并[1]
返回第二个元素(pixels
),如果您还想知道这一点:
$string.Split(" ")[1]
答案 1 :(得分:6)
James C.'s helpful answer效果很好,但只是为了使用> '1500 pixels' -replace ' .*' # short for: '1500 pixels' -replace ' .*', ''
1500
运算符显示替代方案:
' .*'
正则表达式.*
匹配第一个空间以及(> '1500 pixels and more' -replace ' [^ ]*$'
1500 pixels and
)之后的所有内容,并且由于没有替换字符串,会替换匹配的内容空字符串,即有效删除匹配。
如果您只想从最右侧空间进行修剪,LotPings会提供以下变体:
[^ ]*$
*
匹配任何字符序列([^ ]
)。这不是空格char。 ($
)到字符串的末尾(A
)。