2017-03-22 12 views
1

テキスト文字列の特定の文字の右側をトリミングしようとしています。文字の右側のトリミング

現在、私はこれが正常に動作して1500を返しますが、最後の文字が" pixels"でない場合、それは失敗します

$string = "1500 pixels" 
$string.Trim(" 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 

[^ ]*$は、文字の任意のシーケンス(*)と一致します。スペース文字ではありません。文字列の最後($)の末尾まで([^ ])。

関連する問題