我必須截斷以下行文本。唯一被截斷爲34個字符的文本是我粗體的部分。說明中的字符(粗體)可能在(在這種情況下,請保持原樣)或超過34個字符。Powershell - 截斷字符串中的字符
該行必須以'字符結尾。
IMD + F + ::: 是,光果瑜珈VLF4x(6x120g)'
我有密切的一些代碼,但後來變得有點卡住了,現在我的腦袋疼 - 我想象中的某處這是世界上最早的一天,人們有了新鮮的頭腦!
任何幫助表示讚賞!
我必須截斷以下行文本。唯一被截斷爲34個字符的文本是我粗體的部分。說明中的字符(粗體)可能在(在這種情況下,請保持原樣)或超過34個字符。Powershell - 截斷字符串中的字符
該行必須以'字符結尾。
IMD + F + ::: 是,光果瑜珈VLF4x(6x120g)'
我有密切的一些代碼,但後來變得有點卡住了,現在我的腦袋疼 - 我想象中的某處這是世界上最早的一天,人們有了新鮮的頭腦!
任何幫助表示讚賞!
您可以嘗試
$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}
以下是我們的:::
個序列之後的字符串,並確定是否需要截斷。
$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"
$string -replace "(.*:::)([^']{1,33}).+",$('$1$2' + "'")
你能告訴你的實際代碼? – JNK
34從頭還是尾?你粗暴的是32 ...你的問題對我來說沒有意義。 –
你怎麼知道字符串的哪一部分被截斷?前綴總是一樣的嗎? (例如「IMD + F ++ :::」)還是冒號串? – zdan