2013-10-02 109 views
0

我想替換()中的.csv中的任何內容。我也想替換()。基本上我想刪除它們,而不是替換。但我正在使用替換,因爲我不知道還有什麼要使用。PowerShell通配符

下面是一個例子:

以下是我有:

Sam Jones 2.432 GB (2,611,711,745 bytes) 
Paul Jones 2.07 GB (2,223,079,317 bytes) 

下面是我想:

Sam Jones 2.432 GB 
Paul Jones 2.07 GB 

想法?

回答

2

使用-replace運營商與相應的正則表達式:

# ~\> @("Sam Jones 2.432 GB (2,611,711,745 bytes)", "Paul Jones 2.07 GB (2,223,079,317 bytes)") -replace "\([^)]*\)","" 
Sam Jones 2.432 GB 
Paul Jones 2.07 GB 

編輯:評論中使用麥克建議一個更通用的正則表達式。

+0

就像一個冠軍@zdan - 你介意解釋究竟是什麼'「\(。* \)」'做的? – SMPLGRP

+2

如果你在一行上有多個(),那麼這個正則表達式可能會有問題。它會將「ABC(DEF)GHI(JKL)」變成「ABC」。如果你有像這樣的數據,你可能想使用'「\([^)] * \)」'。 – Mike

+0

@Mike我更喜歡那個解決方案。 – SMPLGRP