-2
'& @ *'のような多くの特殊文字を含むcsvファイルを開き、 '_'で置き換えようとしています。私はまたすべての 'NULL'文字列を ''に置き換えたいと思います。 完了したら、ファイルを同じ場所に保存します。Powershellファイルを開いて特殊文字+ NULLを置換する
私が試したこの
$File = Import-Csv "C:\Users\a\Desktop\Al.csv"
foreach ($line in $File)
{
$line.Replace('[[+*@?()\\.]','_')
$line.Replace('NULL','')
}
EDIT:それはであるかのようにファイルを読み取るためのコメントのおかげで
(get-content "C:\Users\a\Desktop\Al.csv") -replace ('[[+*@?()\\]','_') -replace('NULL','') | Set-Content "C:\Users\a\Desktop\Al.csv"
これまでに何を試しましたか?問題に遭遇した場所にコードを追加できますか? – BenH
'Import-Csv'は行を返しません。各CSV列のプロパティを持つPSObjectsを返します。 '$ line.Replace(...)'は変数をインプレースで変更しないので、使用していない値を返します。 'foreach()'はパイプラインに出力しないので、これは悪い選択です。 '(get-content" c:\ ... \ A1.csv "-raw).replace(...)。replace(...)|セット内容 "c:\ ... \ A1.csv" – TessellatingHeckler
@TessellatingHecklerが言ったこと。また、 'Replace()'メソッドは単純な文字列置換を行います。正規表現の置き換えには、 '-replace'演算子を使用します。 –