修剪角色的右侧

时间:2017-03-22 22:25:59

标签: powershell

我正在尝试修剪文本字符串中某个字符的右侧。

目前我正在使用

$string = "1500 pixels"
$string.Trim(" pixels")

这样可以正常工作并返回1500但如果最后一个字符不是" pixels"则会失败。如何修剪" "的右侧?

2 个答案:

答案 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)。