2017-03-22 30 views
1

我想修剪到文本字符串中某个字符的右侧。修剪到字符的右侧

目前我使用

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

这工作得很好,并返回1500,但如果最后的字符不是" pixels"那么它就会失败。我如何修剪到" "的右侧?

回答

6

Split()方法可以为您做到这一点,它使用分隔符将字符串拆分为数组。

拆分使用空间" "作为分隔符,然后使用[0]返回数组的第一个元素的字符串 - 这是你的榜样1500

$string = "1500 pixels" 
$string.Split(" ")[0] 

而且[1]返回第二个元素(pixels ),如果你也想知道:

$string.Split(" ")[1] 
+0

完美运作。谢谢! – Carlos

+1

和'$ Left,$ Right = $ string.Split(“”)'如果你想要双方。 – TessellatingHeckler

6

James C.'s helpful answer效果很好,但只是为了使用显示替代在-replace操作

> '1500 pixels' -replace ' .*' # short for: '1500 pixels' -replace ' .*', '' 
1500 

正则表达式' .*'第一空间和一切后(.*)自带,而且,由于缺乏一个替换字符串相匹配,更换什么用匹配字符串,即有效地删除的比赛。


如果你只想从最右边空间修剪,LotPings提供了这种变化:

> '1500 pixels and more' -replace ' [^ ]*$' 
1500 pixels and 

[^ ]*$字符的任意序列(*)相匹配。那不是空格字符。 ([^ ])到字符串末尾($)。