내가 같은 문자열이있는 경우에 캐릭터 : 분할 다른 데이터 유형
Bridport, Dorset, 12977, 425
그래서 난 문자열로 처음 두 부분과 마지막 두 부분으로 선언 할 수있는 분할 기능을 사용하는 방법이 있나요을 정수?
내가 같은 문자열이있는 경우에 캐릭터 : 분할 다른 데이터 유형
Bridport, Dorset, 12977, 425
그래서 난 문자열로 처음 두 부분과 마지막 두 부분으로 선언 할 수있는 분할 기능을 사용하는 방법이 있나요을 정수?
String()
으로 분할 한 다음 Int32.Parse
을 사용하여 마지막 두 개를 정수로 파싱 할 수 있습니다.
Dim tokens = text.Split(","c)
Dim part1 As String = tokens(0).Trim()
Dim part2 As String = tokens(1).Trim()
Dim part3 As Int32 = Int32.Parse(tokens(2).Trim())
Dim part4 As Int32 = Int32.Parse(tokens(3).Trim())
형식이이 슈퍼 안전 버전 사용할 수있는 유효한 경우에 당신이 모르는 경우 : 나는 문자열을 구문 분석 할 수 있는지 여부를 알 수있는 Nullable(Of Integer)
을 사용하고
Dim part1 As String = tokens(0).Trim()
Dim part2 As String = tokens.ElementAtOrDefault(1)
If part2 IsNot Nothing Then part2 = part2.Trim()
Dim part3 As String = tokens.ElementAtOrDefault(2)
Dim part4 As String = tokens.ElementAtOrDefault(3)
Dim num1 As Int32? = New Nullable(Of Int32)
Dim num2 As Int32? = New Nullable(Of Int32)
If part3 IsNot Nothing Then
Dim num As Int32
If Int32.TryParse(part3.Trim(), num) Then
num1 = num
End If
End If
If part4 IsNot Nothing Then
Dim num As Int32
If Int32.TryParse(part4.Trim(), num) Then
num2 = num
End If
End If
을 Integer
에 성공적으로 있습니다. 그것에는 HasValue
과 Value
속성이 있습니다. HasValue
이 True
을 반환하면 후자를 사용하십시오.
입력 형식이 올바르지 않다고 계속 사용하는 경우 – Todd432
@ Todd432 : 안전한 방법을 제공하기 위해 내 대답을 편집했습니다. –
Dim info as string = "Bridport,Dorset,12977,425"
Dim split as string() = info.split(",")
Dim string1 as string = split(0) ' Reads Bridport
Dim string2 as string = split(1) ' Reads Dorset
Dim int1 as integer = split(2) ' Reads 12977
Dim int2 as integer = split(3) ' Reads 425
[Option Strict On] (http://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx)을 사용해야합니다. –
쉼표로 구분하면 배열이 만들어지고 변수가 만들어지고 거기에서 유형을 형 변환 할 수 있습니다. – OneFineDay
문자열의 부분은 여전히 문자열입니다. Convert 또는 Cint [여기에 표시된대로] (http://stackoverflow.com/a/27080237/1070452) – Plutonix
입력 형식이 유효하지 않다고 말했지만 시도했습니다. – Todd432