带“n”的 Powershell 长字符串在控制台中显示正常,但得到 .count = 1

Sha*_*har 4 powershell

我正在操作一个测试,其中使用多个.replace命令来格式化文本。

例如

$str="hello%worldZZZniceZZZtoZZZmeet"
$str.Replace("%","`n").replace("ZZZ","`n")
Run Code Online (Sandbox Code Playgroud)

控制台中的输出很好,但我需要迭代每一行。问题是$str.count = 1,即使在控制台中显示良好,powershell 仍将这个字符串视为一行。任何想法?

编辑:

如果我将字符串输出到文件,然后读取该文件,它会读取新行,但我确信有更好的方法,而不是输出到文件,然后再次读回

San*_*zon 6

听起来您想要拆分字符串并获得一个数组作为结果:

$str = "hello%worldZZZniceZZZtoZZZmeet"
$str -split "%|ZZZ"
($str -split "%|ZZZ").count # => 5
Run Code Online (Sandbox Code Playgroud)

由于该运算符与正则表达式兼容,因此您可以使用"%|ZZZ"(拆分为%ZZZ)。