gpt4 book ai didi

powershell - Powershell:将两行连接成一个数组

转载 作者:行者123 更新时间:2023-12-03 01:10:14 26 4
gpt4 key购买 nike

我得到了一个具有值的数组(每个“文本”后都有新行)

$result=@"
"first","line","of","text"
"second","line","of","text
third","line","of","text"
"fourth","line","of","text"
"@

我正在尝试编写一个Powershell代码,该代码搜索以“开头但不以”结尾的行。如果符合条件,则下一行用逗号定界符连接到匹配的行。例如:第二行符合条件,因此第三行与第二行之间用逗号隔开。像下面的那个
"first","line","of","text"
"second","line","of","text,third","line","of","text"
"fourth","line","of","text"

到目前为止,我已经有了这个。但它只会在EOL中添加,但不会加入。请让我知道我在想什么
$result=@()
foreach ($item in $result){
if ($item -notlike '*"')
{ $result+=$item+"," }
else
{ $result+=$item}
}

最佳答案

I got a array which has the value(new line after every "text")

$result=@"
"first","line","of","text"
"second","line","of","text
third","line","of","text"
"fourth","line","of","text"
"@

* (syntax error fixed)



不,您有多行字符串-有所不同!

您可以使用正则表达式模式来匹配由可选空白包围的换行符,但不能包含 "字符:
$result = $result -replace '(?<!")\s*\r?\n\s*(?!")', ','

该模式包括:
  • (?<!")-没有在前的"(负向后置断言)
  • \s*-0个或更多空白字符
  • \r?\n-换行符(CRLFLF)
  • \s*-0个或更多空白字符
  • (?!")-无后续"(负超前断言)

  • 最后用 ,代替

    关于powershell - Powershell:将两行连接成一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40489068/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com