Powershell - 截断字符串中的字符

时间:2012-01-20 15:15:03

标签: powershell

我必须截断以下行文字。唯一要截断为34个字符的文本是我加粗的部分。描述中的字符(粗体)可能在(在这种情况下只是保持原样)或超过34个字符。

该行必须以'character。

结尾

IMD + F ++ ::: Be-Light Fruit Yog VLF4x(6x120g)'

我已经接近了一些代码,但后来有点卡住,现在我的大脑受伤了 - 我想在世界的某个地方,它是在一天的早些时候,人们有新的头脑!

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:0)

你可以尝试

$string1="IMD+F++:::Be-Light Fruit Yog VLF4x(6x120g)'"
$string2 = $string1 -replace '(.*:+)(.*)','$2'
$res = if ($string2.length -gt 34) {$string2.Substring($($string2.length-34))}else{$string2}

答案 1 :(得分:0)

以下检查一系列:::之后的字符串,并确定是否需要截断。

$str = "IMD+F++:::Be-Light Fruit Yog VLF4x(6x120g)'"
$prefix = $str -replace ":::.*",":::"
$trunc = $str -replace ".*:::",""
if ($trunc.length -gt 34)
{
    $trunc = $trunc.Substring(0,33) + "'"
}
Write-Host "$prefix$trunc"

答案 2 :(得分:0)

$string -replace "(.*:::)([^']{1,33}).+",$('$1$2' + "'")
相关问题