2017-11-28 138 views
1

Csvファイルの内容数千の行があり、その中のテキストを置き換えます。 MacBookPro1*.*,PowerShellはCsvファイルの文字列を置換します

MacBookPro*,*,は '*' ここではワイルドカードです。 テキストは、私は正規表現が得意ではないですし、助けを必要と

MacBookPro, 

と交換するこの

MacBookPro13,1, 

次のようになります。

答えて

1

Powershellで直接行うことができ、CSVもチェックインできます。

$string_var = 'MacBookPro*,*,' 
$newstring_var=$string_var.Replace($string_var,'MacBookPro1*.*,') 
$newstring_var 

このことを教えてください。

+0

私はここで、ワイルドカードとして*を参照しています。すみませんでした。私は使用される正規表現を把握することができません。 –

0

csvファイルに複数のエントリがある場合は、すべてのエントリを置き換える必要があります。

$oldString = 'MacBookPro*,*,' 
    $newString = 'MacBookPro1*.*,' 
    $originalFilePath = "EnterPathToFileHere" 
    $newFilePath = "EnterNewPathToFileHere" 

    [io.file]::readalltext($originalFilePath).Replace($oldString, $newString) | Out-File $newFilePath -Encoding ascii –Force 
+0

*はワイルドカードであるため、これは機能しません –

1

それを解決することができ...

(Get-Content $ExportCsvFilePath) -replace 'MacBookPro(.*?),(.*?),','MacBookPro,' | Set-Content -Path $ExportCsvFilePath -Force 
関連する問題