需要在vb中取一個字符串並將其拆分。還需要查看兩個返回的值並返回包含「domain1.com」的值。管道是分隔符。字符串拆分和搜索VB.NET
txtEmailFrom.Text = "[email protected]|[email protected]"
Dim brokened() As String
brokened = Split(txtEmailFrom.Text, "|")
不知道從哪裏何去何從......
需要在vb中取一個字符串並將其拆分。還需要查看兩個返回的值並返回包含「domain1.com」的值。管道是分隔符。字符串拆分和搜索VB.NET
txtEmailFrom.Text = "[email protected]|[email protected]"
Dim brokened() As String
brokened = Split(txtEmailFrom.Text, "|")
不知道從哪裏何去何從......
txtEmailFrom.Text = "[email protected]|[email protected]"
Dim brokened() As String
dim email as string
dim emailSplit() as string
brokened = Split(txtEmailFrom.Text, "|")
for email in brokened
emailSplit = Split(email, "|")
if emailSplit(1) = "domain1.com" then
Console.WriteLine(email)
end if
next
我寫這沒有IDE &這可能是VB6風格。
希望它應該給你一個轉換爲VB.net的想法
編輯:當然,最好在這行if emailSplit(1) = ...
之前添加數組邊界檢查。
如果你可以使用LINQ
txtEmailFrom.Text = "[email protected]|[email protected]"
Dim result = txtEmailFrom.Text.Split(CChar("|")) _
.Where(Function(d) d.Contains("domain1.com")).FirstOrDefault
Dim brokened() As String = txtEmailFrom.Text.Split("|"c)
Dim returnValue as String
For each item as String in brokened
If item.Contains("domain1.com") Then
returnValue = item
End If
Next
(我被打斷寫我的答案,讓我下定決心完成!)
你可以試試這個:
Module Module1
Sub Main()
Dim email As String = "[email protected]|[email protected]"
Dim brokened() As String
brokened = Split(email, "|")
Dim k As List(Of String) = (From j As String In brokened _
Where j.Contains("domain1.com") _
Select j).ToList()
For Each u As String In k
Console.WriteLine(u)
Next
End Sub
End Module
希望這有助於。 Jas。
using firstOrDefault will不返回數組或ienumeration – Fredou 2010-01-28 19:30:08
@Fredou - 您的權利,我誤解了需求。相應地更改了代碼。 – 2010-01-28 19:41:27
For Each email In brokened
If email.Contains("domain1.com") Then
Return email
End If
Next
有時間和地點的LINQ,我會說這不是其中之一,像你這樣的老FOR循環在這裏效果最好,並且更容易被其他人閱讀。 – 2010-01-28 21:55:36
我把splited電子郵件列表中,並使用list.FindAll方法來找到所有domain1.com
我會在C#寫這個,我更熟悉它,但它應該是相同的vb.net
List<string> emails = new List<string>();
emails.AddRange(txtEmailFrom.Text.Split("|".ToCharArray()));
emails.FindAll(s=> {return s.Contains("domain1.com");});
類似的東西...寫不用其他IDE
Dim test As String = "[email protected]|[email protected]"
Dim brokend() As String
brokend = test.Split(New String() {"|"}, StringSplitOptions.None)
For Each email As String In brokend
If email.EndsWith("domain1.com") Then
Return email;
End If
Next
你可能想看看這個頁面,它向你展示了你在VB.net中分割,搜索和解析字符串的許多不同方法 http://msdn.microsoft.com/en-us/library/hzcd8ze0%28VS.80%29.aspx – 2010-01-28 22:51:38