[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
来练练手
  1. $s= @'
  2. Key 1
  3. Hello 1
  4. World 1
  5. ---
  6. Key 2
  7. Hello 2
  8. World 2
  9. ---
  10. Key 3
  11. Hello 3
  12. World 3
  13. '@
  14. $pattern = "(([\S\s]+?)[\r\n]+---[`r`n]?)"
  15. $out = ( $s + "`r`n---" | Select-String -Pattern "(([\S\s]+?)[\r\n]+---[\r\n]?)" -AllMatches ).Matches.Value -replace "---" ,''
  16. $ss = 'sss '
  17. $arr=@()
  18. $n = 65
  19. $out |% {
  20.     $a,$b = ($_ -replace '[\r\n]+', "`n" |Select-String -Pattern "(.+?)\n"  -AllMatches).Matches.Value
  21.     $c = [char](++$n - 1)
  22.     $arr += "{$c}={$($c)v}[]"
  23.     "$ss $c="
  24.     ' ' + $a.trim()
  25.     ' ' + $($b -join " ").trim()
  26.     "sss ${c}v="
  27.     ' ' + "${c}v.ffff"
  28. }
  29. 'sss kv=@' + '"{0}"' -f ($arr -join '').TrimEnd("[]")
  30. 'DDD(kv)'
复制代码

TOP

本帖最后由 terse 于 2022-11-24 18:46 编辑

回复 20# 小白龙
30行和29行对调一下呢?另外要空行的话 去掉trim()试一下
  1. $s= @'
  2. Key 1
  3. Hello 1
  4. World 1
  5. ---
  6. Key 2
  7. Hello 2
  8. World 2
  9. ---
  10. Key 3
  11. Hello 3
  12. World 3
  13. '@
  14. $pattern = "(([\S\s]+?)[\r\n]+---[`r`n]?)"
  15. $out = ( $s + "`r`n---" | Select-String -Pattern "(([\S\s]+?)[\r\n]+---[\r\n]?)" -AllMatches ).Matches.Value -replace "---" ,''
  16. $ss = 'sss '
  17. $arr=@()
  18. $n = 65
  19. $out |% {
  20.     $a,$b = ($_  |Select-String -Pattern "(.+?)\n"  -AllMatches).Matches.Value
  21.     $c = [char](++$n - 1)
  22.     $arr += "{$c}={$($c)v}[]"
  23.     "$ss $c="
  24.     ' ' + $a.trim()
  25.     "sss ${c}v="
  26.     ' ' + $($b -join " ").trim()
  27.     ' ' + "${c}v.ffff"
  28. }
  29. 'sss kv=@' + '"{0}"' -f ($arr -join '').TrimEnd("[]")
  30. 'DDD(kv)'
复制代码
1

评分人数

TOP

本帖最后由 terse 于 2022-11-24 20:19 编辑

32行这样试
输出没问题的话  你再自己调整一下
  1. ' ' + "${c}v.ffff"+  "`n"
复制代码

TOP

返回列表