2013-04-23 89 views
0

我已經回到這段代碼的PowerShell代碼了一段時間,我似乎無法找到解決方案。基本上,我有一個WinForm中的文本框,我輸入名稱到文本框中,如ckcTsetg,minintKLV,bbcada,tyleass等。當我將它們放入文本框中時,我單擊此濾除按鈕,並將以下「ckcTsetg,minintKLV」過濾出來,這是正確的。我遇到的問題是不會被過濾掉的其他人也被刪除,或者他們永遠不會到達。當我單擊過濾器按鈕時,我的目標是將「$ logOutputBox.TEXT」中的文本過濾掉,然後過濾的列表將通過$ objOutputBox.TEXT = $ Numbered傳遞給另一個「$ objOutputBox.TEXT」框。相反,它完全過濾了整個列表。如果我在獲取有效名稱之前將它們傳遞給「$ objOutputBox.TEXT」沒有問題。我嘗試了幾個不同的東西,但似乎沒有任何工作。有任何想法嗎?謝謝你的幫助!使用正則表達式在Powershell中過濾文本框

$repeatButton = New-Object System.Windows.Forms.Button 
$repeatButton.Location = New-Object System.Drawing.Size(310,375) 
$repeatButton.Size = New-Object System.Drawing.Size(160,43) 
$repeatButton.Font = New-Object System.Drawing.Font("Courier New", "10") 
$repeatButton.Text = "Filter" 
$repeatButton.Add_Click({ 


$Filtered = $logOutputBox.TEXT 
$Numbered = $Filtered.Split("' ")| ? {$_ -notmatch "etg$|^minint|kvmlc*|dsm|les"} 
$objOutputBox.TEXT = $Numbered 



}) 
$tunerForm.Controls.Add($repeatButton) 

回答

0

我找到了我的問題的答案。非常感謝,如果你開始研究我的問題,我仍然非常感激。如果您不介意並且您確實回答了問題,請將其發佈。有可能是一個更好的做法,我真的只想學習..

$Numbered = $Filtered.Split("`n ", [System.StringSplitOptions]::RemoveEmptyEntries) | ? {$_ -notmatch "etg$|^minint|kvmlc*|dsm|les"} 
+0

看到我知道我會回來。我遇到的問題是他們正在過濾它們中的每一個。當它們被過濾到另一個文本框時,它們會彼此堆疊在一起。如下 – Mikey 2013-04-23 23:52:07

+0

如何添加附件? – Mikey 2013-04-24 01:48:11