2015-11-05 147 views
-1

Dim mystring as string = " myintref="567" Mynewref="345" "如何正確使用string.split

當轉義雙引號,我想,這樣我結束了分裂,在每個單引號的myString;

myintref= 567 

Mynewref= 345 

無論

Dim splitstring as string() = mystring.Split(""") 

Dim splitstring as string() = mystring.Split(New Char {"""c}) 

出現工作。有什麼建議麼? (vs2015,vb.net v14)

+0

我認爲VB用兩個連續的雙引號轉義字符串字面雙引號。如:「」這是一個「」引用「」字符串「' – David

+0

感謝您的編輯,但不是我想要的(我無法得到正確格式的問題)myintref =應該是一個分裂,567下一個等 –

+0

@大衛,如果你的意思是像mystring.split(「」「」「),那麼我已經嘗試過,它也不起作用 –

回答

0

你期待拆分該字符串後2個或4個元素?

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim strLine As String = " myintref=" & """" & "567" & """" & " Mynewref=" & """" & "345" & """" & " " 
    Debug.WriteLine("Original: " & strLine) 
    Dim strAry As String() = strLine.Split({""""c}) 
    For i As Int32 = 0 To strAry.Length - 1 
     Debug.WriteLine(strAry(i)) 
    Next 
End Sub 

給了我這樣的輸出:

Original: myintref="567" Mynewref="345" 
myintref= 
567 
Mynewref= 
345 
+0

完美..非常感謝你 –

+0

@DomSinclair與David –

+2

@DomSinclair完全一樣:出於好奇,這個答案的結果與我的回答結果有什麼不同?在這個代碼中有更多的代碼,但結果是一樣的。我們都使用'String.Split()'並得到相同的結果數組。 – David

3

要在VB中轉義雙引號,只需使用兩個連續的雙引號字符。所以,你可以做這樣的事情:

Dim mystring As String = " myintref=""567"" Mynewref=""345"" " 
Dim mystrings = mystring.Split(""""c) 

在分裂導致在雙引號字符字符串:

Debugging screen shot

+0

謝謝大衛,但你誤解了這個問題,我想結束myintref = NOT「myintr ef =「,其他人也一樣。我想使用「作爲拆分,這就是導致問題的原因 –

+3

@DomSinclair:我認爲你誤解了字符串,這些拆分字符串都不包含*雙引號字符,它們是*封閉的*在雙引號字符中,因爲*它們是字符串*。 – David

+0

@DomSinclair正如David所建議的那樣,顯示的輸出是正確的(當分割沒有引號的字符串時,您會看到相同的引號,只定義開始/在任何情況下,似乎'Replace'對於執行你想要的動作來說更好。 – varocarbas