2016-06-20 15 views
0

例えば、私はそれぞれの行のように見える、PowerShellのスクリプトの作家を示すテキストファイルを持っている:私は最初に見つけたいPowershell:文字列の最初の ":"を "、"に置き換える方法は?

Hello world.ps1:John Smith 
Dowork.ps1:Blake Benn 

「:」各行のとで置き換える「」私ができるので、 、

Hello world.ps1,John Smith 
Dowork.ps1,Blake Benn 

をcsvファイルを取得し、私は "-replace" で試みたが、失敗しました:

"Hello World.ps1:John Smith" -replace ":" "," 

At line:1 char:43 
+ "Hello World.ps1:John Smith" -replace ":" "," 
+           ~~~ 
Unexpected token '","' in expression or statement. 
    + CategoryInfo   : ParserError: (:) [], 
    ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : UnexpectedToken 

これを行うには?ありがとう!

+0

は:' *を、 '^(。*?):(*)' '-replaceを使用し、 '$ 1、$ 2''ではなく' -replaceを"、"、 "、" ' –

答えて

1

-replace演算子の構文が正しくありません。オペレーターのヘルプを慎重に読む - help about_Comparison_Operators。検索文字列と置換文字列の間に,がありません。あなたが本当に*のみ最初の `置き換えたい場合は

PS C:\> "Hello World.ps1:John Smith" -replace ":","," 
Hello World.ps1,John Smith 
+0

@MathiasRJessenは別のコメントで指摘したように、質問が必要とする*最初のオカレンスだけでなく、*すべてのオカレンスを置き換えることに注意してください。 1つしかない場合は、これで十分です。 –

+0

正解 - これはOPのサンプルデータに基づいて問題ではないようです。 –

関連する問題