2013-04-09 65 views
0

我試圖從一個文本框中篩選出一系列名稱,並將篩選列表複製到另一個文本框中。我遇到的問題是,當我使用我的add_click按鈕時,它只能在幾個條件下工作。當我想要在列表中過濾名稱(列表的前端或末尾)時,沒有結果添加到目標文本框中。如果我添加了一個應該被濾除的項目(假設無意中添加了一個好的名稱列表,那麼即使是好的名字也被刪除了),它也只是將目的地框空白。因此,如果我有5個項目將複製,並且應該過濾掉一個項目,則整個目標框將被刪除。當我從文本框列表中刪除篩選出的項目時,目標框中將填入這些名稱。這些是我正在過濾掉的前綴。篩選多行文本框

$objOutputBox.Text = $logOutputBox.text |?{$_ -notmatch "etc$|^mint|kssc*|mmm|charl"} 

任何想法就是我可以安排這個所以它會過濾掉不需要的機器並添加所需的機器嗎?現在,只有當我添加的每個名稱都沒有過濾掉的預修復或修補後,它才能正常工作。我的推理是試圖讓它正常工作,過濾掉的名稱將被刪除,同時點擊按鈕添加所需的名稱。任何幫助表示讚賞。

回答

1

我不確定我是否理解正確。這是很多文字和樣本。你應該考慮現在和未來的參考。一張「圖片」(樣本)勝過千言萬語。 :-)你想過濾的名字是由換行符,空格,一個字符來分隔嗎?我似乎無法在您的文本中找到。

爲了讓你開始,Text屬性是一個單一的string - 與linebreaks的對象。 Where-object?)通過將當前對象與規則進行匹配來工作。現在,因爲Text是一個單一的string-對象,它將通過(它通過了你的測試),或者它們都不會通過。爲了解決這個問題,你可以嘗試在數組中分割字符串,具體取決於你如何在文本框中分割名字。順便說一句,當你使用正則表達式進行匹配時,你應該使用單引號,而不是雙引號,因爲特殊字符。

我希望這給了你一個如何解決它的想法。如果沒有,請提供更多樣本(例如輸入文本框內容),以便我更好地理解它。