代码通过单词提取每行的值

时间:2014-03-21 21:28:32

标签: vb.net filter

textbox1.text =

| 212.55.11.51:8080 | vpn | http |
| 212.55.11.52:8080 | rte | http |
| 212.55.11.53:8080 | dfg | http |
| 212.55.11.54:8080 | vpn | http |
| 212.55.11.55:8080 | vpn | http |
| 212.55.11.56:8080 | Tyu | http |
| 212.55.11.57:8080 | RFe | http |
| 212.55.11.58:8080 | vpn | http |

我需要工作代码。 当你写单词vpn。 通过textbox2对Button的压力。

显示的IP地址位于该行。 以上示例的示例包括带有单词vpn的数字4行。

显示所有IP下一个
212.55.11.51
212.55.11.54
212.55.11.55
212.55.11.58

Inside ListBox

1 个答案:

答案 0 :(得分:2)

您可以使用LINQ和String.Split

Dim lines = text.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
Dim matchingIPs = From line In lines
                  Let tokens = line.Split({"|"}, StringSplitOptions.RemoveEmptyEntries)
                  Let IP = tokens(0).Trim()
                  Let type = tokens(1).Trim()
                  Where type = "vpn"
                  Select IP.Split(":"c)(0).Trim()

listBox1.Items.AddRange(matchingIPs.ToArray())