web-dev-qa-db-ja.com

PowerShellで特定の文字列の前に表示されるすべての文字を削除します

次の情報を含むテキストファイルがあります。

24.;128.32.;128,6;0.128.68.;128,1.;0.76.;;;;;0,1.;0.4.;0,2.;0.5.;0,4.;;;0.76.;128,;;;;;;;;172.30.1.1,172.30.1.228,

172.30.1.1の前に表示されるすべての文字を削除する必要があります。私のファイルの場合、次のようになります。

172.16.1.1,172.16.1.210,

私はこれを行うためにPoweshellを使用していますが、成功していません。

3
Jonathan Santos

その多くは、データの一貫性に依存します。多数の方法があります。あなたは分割でそれを行うことができます:

$test = '24.;128.32.;128,6;0.128.68.;128,1.;0.76.;;;;;0,1.;0.4.;0,2.;0.5.;0,4.;;;0.76.;128,;;;;;;;;172.30.1.1,172.30.1.228,'
$partIWant = $test.Split(';')[$($test.Split(';').Count-1)]
$partIWant

正規表現を使用することもできます。

$partIWant = $test -replace '.+(\d+.\d+\.\d+\.\d+\.\d+,\d+\.\d+\.\d+\.\d+,)', '$1'
$partIWant

使用する方法を選択し、使用する特定のデータに合わせて作成する必要があります。

3
EBGreen