2013-11-04 86 views
0

至於這個問題,是可能? 我工作的這個.. 如何進去在vb.net兩種不同的分隔符的字符串

只應「UP」在那裏,但因爲我的分隔符是=它只讀取=,所以它繼續獲得第二行是DHCP。

這裏是我的代碼..

Private Sub btnSettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSettings.Click 
    Dim str As String = rtb.Text 
    Dim star() As String 

     star = str.Split("="c) 
     txtIP.Text = star(1) 

End Sub 

是有辦法,我可以在不同的分隔符之間得到一個字符串?
例如= 192.168.254.238:

回答

1

發現它在計算器一些C#頁上。 剛剛添加了另一個分隔符,儘管我不知道它是否可以與三個分隔符一起使用。乾杯!

Private Sub btnSettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSettings.Click 
    Dim str As String = rtb.Text 
    Dim star() As String 
    ''Dim starr() As String 
    star = str.Split("="c, ":"c) 
    ''starr = str.Split(":"c) 
    txtIP.Text = star(4) 

End Sub 
+1

你的代碼會更短,速度更快。但是如果其中一個上限值有=和:?例如'DHCP =:ON'。我知道這是不太可能的,但如果人類參與,這不是不可能的。其次,你有明星(4),如果它應該是明星(2)呢?所以,這就是爲什麼遍歷線條,然後獲得你所需要的幾乎沒有錯誤可能性的原因。但是,你的確是更短,如果它符合你的目的,那麼繼續;-) – Edper

+1

所以基本上,我需要更改toUpper部分和代碼中的所有索引?好吧,這似乎更好。用我的代碼,我需要首先清除rtb,以便重疊和更新。謝謝你的解釋。 – AdorableVB

+0

不客氣,我很樂意提供幫助。上帝保佑。 – Edper

0

我不正是你想要的這裏,但試試這個:在vbcrlf

For Each line As String In RichTextBox1.Lines 
    Dim star() As String = line.Split("=") 
    If (star(0).ToUpper() = "IP") Then 
     If (star(1).IndexOf(":") >= 0) Then 
      txtIP.Text = star(1).Substring(0, star(1).IndexOf(":")) 
     Else 
      txtIP.Text = star(1) 
     End If 
    End If 
Next 
+0

肯定做的事情,但我碰巧找到更簡單的事情。 「明星= str.Split(‘=’C‘’C)」 「txtIP.text =星(1)」 他們似乎共享了相同的結果,但我知道他們將進一步做不同的事情。你能告訴我區別嗎?我該如何正確使用? – AdorableVB

0

第一分 - 你的線,然後for-each線,分割在= - 你得到的關鍵/價值觀。

相關問題