繁体   English   中英

如何使用 Powershell 正则表达式将 "" 转换为 \\"?

[英]How do I use Powershell regex to convert "" into \"?

我有一个生成 CSV 的 Powershell 脚本。 只有它在字符串中双引号双引号,而我使用的所有其他软件(无论如何在 Unix 世界中)在字符串中使用 \\" 而不是 "" 来表示一个双引号。

使用 Powershell 正则表达式,我该如何解决这个问题:

"""C:\Java\jre8\bin\java"" -Djava.library.path=""C:\some\path\lib"" -classpath ""some;long;classpath"" com.foo.app.Main"

成这个?

"\"C:\Java\jre8\bin\java\" -Djava.library.path=\"C:\some\path\lib\" -classpath \"some;long;classpath\" com.foo.app.Main"

我试过使用假定的 Powershell 转义字符(反引号),但无法使转换工作。

使用带有正向前瞻零长度断言的正则表达式。

$String='"""C:\Java\jre8\bin\java"" -Djava.library.path=""C:\some\path\lib"" -classpath ""some;long;classpath"" com.foo.app.Main"
$String
$String -replace '"(?="[^"])','\'

产量:

"""C:\Java\jre8\bin\java"" -Djava.library.path=""C:\some\path\lib"" -classpath ""some;long;classpath"" com.foo.app.Main"
"\"C:\Java\jre8\bin\java\" -Djava.library.path=\"C:\some\path\lib\" -classpath \"some;long;classpath\" com.foo.app.Main"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM