下面的代码, 我是通过 -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]
复制代码 能否通过下面代码中的开关法实现相同的效果?
代码需要改进一下, 现在只能获取两个---之间的字符串
我需要把---分割成的三个部分的文本存到数组, 就像上面代码执行后的效果一样
或者用正则也行- $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)
- {
- $_
- }
- }
- }
- $ss
复制代码
|