gpt4 book ai didi

string - PowerShell split 无法使用单词工作(从文件读取)

转载 作者:行者123 更新时间:2023-12-02 11:26:23 26 4
gpt4 key购买 nike

我正在尝试从文件中提取出现在特定单词模式之间的句子。目的是从文件中提取出现在第一对“GO”单词之间的句子。这里实现的逻辑是根据“GO”一词拆分文件,然后打印数组的第二个元素(本例中以 SET 开头的句子)。但是,PowerShell 无法识别分隔符 (GO);相反,它似乎将“换行”识别为分隔符,并打印第二句话。

请注意,我需要读取文件,然后完成提取。

文件内容

Home address "TJ One way"
Office address "C company Two way"
GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;
GO
Home address "TJ One way"
Office address "C company Two way"
GO
:on error exit
GO

我的代码

$path = 'D:\Scripts'
$deltaFile = 'GoSampleFile.txt'
$modifiedDelta = 'GoSampleFile1.txt'

New-Item -path $path -Name $modifiedDelta -ItemType file -Force

#Split for each appearing GO, after escaping the double quotes
(Get-Content $path'\'$deltaFile).replace('"', '`"') | Set-Content $path'\'$modifiedDelta
$separator = 'GO'
$modifiedDeltaString = Get-Content $path'\'$modifiedDelta

#Write-Host $modifiedDeltaString
#Write-Host $separator

$goArray = $modifiedDeltaString -split "GO", 0, "SimpleMatch"
Write-Output $goArray[1]

#Housekeeping of the temporary file
Remove-Item $path'\'$modifiedDelta

最佳答案

使用 Get-Content -Raw ... 将内容作为一个字符串读取,而不是每一行的字符串数组

关于string - PowerShell split 无法使用单词工作(从文件读取),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949949/

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