Powershell正規表現を使用して ""を\ "に変換するにはどうすればよいですか?

gknauth

CSVを生成するPowershellスクリプトがあります。文字列内の二重引用符のみを二重引用符で囲みますが、私が使用する他のすべてのソフトウェア(Unixの世界ではとにかく)は、1つの二重引用符を意味する「」ではなく文字列内で「」を使用します。

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エスケープ文字(バックティック)を使用しようとしましたが、変換を機能させることができませんでした。

user6811411

正の先読みゼロ長アサーションを持つ正規表現を使用します。

$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"

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ