我想把多行文本中, #开始 #结束 中间那几行中满足条件 "xxx", //xx 的字段,即粉色字部分, 提取为hash表的键值对,即蓝色字部分
最后期待的结果像下面这样, 即:将hash表所有键的值先分别用""括起来后, 然后再连成一行,值与值之间有空格, 还有,在第一个键值后面加一对空双引号,即下面红色引号
"在东京" "" "在纽约" "在刚果"
提取键值对的代码还没有写, 感觉要用正则匹配, 正则的规则,双引号""内是值, //后是键【,前后可能会有空格】, 估计会用到 $1和$2的交换
将所有键的值连成一行的代码写了, 但是在第一个键值后面添加一对空引号的代码还没有写,
求路过高手指教, 提前感谢
@"
岁月难得沉默
秋风厌倦漂泊
夕阳赖着不走
挂在墙头舍不得我
昔日伊人耳边话
已和潮声向东流
再回首
#开始
黄种人"在东京", //日本
白人"在纽约", //美国
"在刚果",//南非
黑人//印度
#结束
往事也随枫叶一片片落
爱已走到尽头
恨也放弃承诺
命运自认幽默
想法太多由不得我
壮志凌云几分酬
知己难逢几人留
"@
#Todo 提取键值对的代码还未写
$Args = [ordered]@{
日本 = "在东京"
美国 = "在纽约"
南非 = "在刚果"
}
$Args.Values | %{ '"' + $_ + '"' } | tee -var a | Out-Null
$a -join ' '
#期待输出的结果
"在东京" "" "在纽约" "在刚果" |