powershell - 向文本文件添加引号 powershell

标签 powershell quotation-marks

我需要将引号添加到包含 500 行文本的文本文件中。 格式不一致。它有破折号、点、数字和字母。例如

1527c705-839a-4832-9118-54d4Bd6a0c89

16575getfireshot.com.FireShotCaptureWebpageScreens

3EA2211E.GestetnerDriverUtility

我尝试过编写这个代码

$Flist = Get-Content "$home\$user\appfiles\out.txt"
$Flist | %{$_ -replace '^(.*?)', '"'}

我得到的结果仅添加到行的开头。

"Microsoft.WinJS.2.0

预期结果应该是

“Microsoft.WinJS.2.0”

How to add quotation-mark to the end of each line as well?

最佳答案

在您的情况下并不严格需要使用 regex(正则表达式)(需要 PSv4+):

(Get-Content $home\$user\appfiles\out.txt).ForEach({ '"{0}"' -f $_ })

如果您确实想使用正则表达式:

(Get-Content $home\$user\appfiles\out.txt) -replace '^|$', '"'

Regex ^|$ 匹配输入字符串的开头 (^) 和结尾 ($),并将两者替换为" 字符,有效地将输入字符串括在双引号中。


至于你尝试过的:

^(.*?)

仅匹配字符串的开头 (^),没有其他内容,因为 .*? - 由于使用非贪婪重复符号 - 不匹配任何其他内容。

因此,替换与 " 匹配的内容只会在输入字符串的开头放置一个 ",而不是在结尾。

关于powershell - 向文本文件添加引号 powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59258771/

相关文章:

powershell - PowerShell 如何告诉我 IIS 属性的枚举类型?

windows - 更改硬盘唯一ID

c# - 使用正则表达式搜索字符串

java - 是否有正则表达式来获取所有引号?

python - 如何用正则表达式同时搜索两个可能的引号?

html - HTML 中的斜引号(« 和 »)

PowerShell 复制失败且没有警告

regex - 重命名文件时使用Move-Item,并使用正则表达式 “cleaning”文件名

正则表达式在引号内

python - 语法错误: invalid syntax (when running python code from shell)