下面的代码, 我是通过 -split 参数将多行字符分割后存到数组的, | $s = @' | | Key 1 | | - | | Hello 1 | | World 1 | | --- | | Key 2 | | - | | Hello 2 | | | | World 2 | | --- | | Key 3 | | - | | Hello 3 | | World 3 | | '@ | | | | $a = $s -split '\r\n---\r\n' | | $a[0]COPY |
能否通过下面代码中的开关法实现相同的效果?
代码需要改进一下, 现在只能获取两个---之间的字符串
我需要把---分割成的三个部分的文本存到数组, 就像上面代码执行后的效果一样
或者用正则也行 | $s = @' | | Key 1 | | - | | Hello 1 | | World 1 | | --- | | Key 2 | | - | | Hello 2 | | | | World 2 | | --- | | Key 3 | | - | | Hello 3 | | World 3 | | '@ -split [Environment]::NewLine | | | | $between = $false | | $ss = Switch -regex ($s) | | { | | '---' { | | $between = !$between | | } | | Default { | | If ($between) | | { | | $_ | | } | | } | | } | | $ssCOPY |
|