修剪角色的右侧

Car*_*los 1 powershell

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

目前我正在使用

$string = "1500 pixels"
$string.Trim(" pixels")
Run Code Online (Sandbox Code Playgroud)

这工作正常并返回,1500但如果最后的字符不是" pixels"那么它将失败.我该如何修剪到右边" "

Jam*_* C. 6

Split()方法可以为您执行此操作,它使用分隔符将字符串拆分为数组.

您使用空格" "作为分隔符拆分字符串,然后用于[0]返回数组的第一个元素 - 1500在您的示例中:

$string = "1500 pixels"
$string.Split(" ")[0]
Run Code Online (Sandbox Code Playgroud)

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

$string.Split(" ")[1]
Run Code Online (Sandbox Code Playgroud)


mkl*_*nt0 6

詹姆斯C.的有用答案很有效,但只是为了显示使用-replace运算符的替代方案:

> '1500 pixels' -replace ' .*'  # short for: '1500 pixels' -replace ' .*', ''
1500
Run Code Online (Sandbox Code Playgroud)

正则表达式' .*'匹配第一个空格和(.*)之后的所有内容,并且由于没有替换字符串,替换与字符串匹配的内容,即有效地删除匹配.


如果您只想从最右边的空间修剪,LotPings提供以下变化:

> '1500 pixels and more' -replace ' [^ ]*$'
1500 pixels and
Run Code Online (Sandbox Code Playgroud)

[^ ]*$匹配*chars的任何sequence().这不是空格char.([^ ])通过string($)的结尾.