2017-03-22 71 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 

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