如何拆分逗号分隔的字符串并将其存储到变量 VB Net
How to Split Comma Separated String and Store it in to Variables VB Net
我有一个像这样的逗号分隔字符串
Dim str as String = "1,5"
Dim num1, num2 As Integer
我想要的是我想通过逗号分隔字符串并将这些值存储到新的整数变量中。分开后我想要这样的东西
num1 = 1
num2 = 5
我想做这样的事情。
num1, num2 = Convert.ToInt32(str.Split(","))
这在 Python 中是可能的,但我不知道如何在这里做到这一点
您可以拆分字符串并分配给这样的变量:
Private Sub AssignVars()
Dim str As String = "1,5"
Dim num1, num2 As Integer
Dim results() As String
results = str.Split(Convert.ToChar(","))
For pos As Integer = 0 To results.Count - 1
Select Case pos
Case 0
Integer.TryParse(results(pos), num1)
Case 1
Integer.TryParse(results(pos), num2)
Case Else
'error handle?
End Select
Next
End Sub
如果您担心 for-case anti-pattern
Private Sub AssignVars()
Dim str As String = "1,5"
Dim num1, num2 As Integer
Dim results() As String
results = str.Split(Convert.ToChar(","))
Integer.TryParse(results(0), num1)
Integer.TryParse(results(1), num2)
End Sub
另一种方法
Dim str As String = "b,1,,5,a,,6"
Dim num1, num2 As Integer
Dim results() As Integer
results = (From s In str.Split(","c)
Where Integer.TryParse(s, Nothing)
Select Integer.Parse(s) Take 2).ToArray
If results.Length = 2 Then
num1 = results(0)
num2 = results(1)
Else
'error
End If
我有一个像这样的逗号分隔字符串
Dim str as String = "1,5"
Dim num1, num2 As Integer
我想要的是我想通过逗号分隔字符串并将这些值存储到新的整数变量中。分开后我想要这样的东西
num1 = 1
num2 = 5
我想做这样的事情。
num1, num2 = Convert.ToInt32(str.Split(","))
这在 Python 中是可能的,但我不知道如何在这里做到这一点
您可以拆分字符串并分配给这样的变量:
Private Sub AssignVars()
Dim str As String = "1,5"
Dim num1, num2 As Integer
Dim results() As String
results = str.Split(Convert.ToChar(","))
For pos As Integer = 0 To results.Count - 1
Select Case pos
Case 0
Integer.TryParse(results(pos), num1)
Case 1
Integer.TryParse(results(pos), num2)
Case Else
'error handle?
End Select
Next
End Sub
如果您担心 for-case anti-pattern
Private Sub AssignVars()
Dim str As String = "1,5"
Dim num1, num2 As Integer
Dim results() As String
results = str.Split(Convert.ToChar(","))
Integer.TryParse(results(0), num1)
Integer.TryParse(results(1), num2)
End Sub
另一种方法
Dim str As String = "b,1,,5,a,,6"
Dim num1, num2 As Integer
Dim results() As Integer
results = (From s In str.Split(","c)
Where Integer.TryParse(s, Nothing)
Select Integer.Parse(s) Take 2).ToArray
If results.Length = 2 Then
num1 = results(0)
num2 = results(1)
Else
'error
End If