我必须截断以下行文字。唯一要截断为34个字符的文本是我加粗的部分。描述中的字符(粗体)可能在(在这种情况下只是保持原样)或超过34个字符。
该行必须以'character。
结尾IMD + F ++ ::: Be-Light Fruit Yog VLF4x(6x120g)'
我已经接近了一些代码,但后来有点卡住,现在我的大脑受伤了 - 我想在世界的某个地方,它是在一天的早些时候,人们有新的头脑!
任何帮助表示赞赏!
答案 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' + "'")