我见过很多关于如何在vb中拆分字符串的例子,但我还没有能够让它为我工作。
我想解决的问题是我的座位号是" A1
"我希望有2个变量,它们将是" A
"然后" 1
"。(我也将把A变成一个值,所以如果你也知道它的ASCII转换它会非常有用,但请记住,我也希望" B
"为2,依此类推。)
If currentShowingID = BookingDetails(y).ShowingID Then
tempSeat = BookingDetails(y).SeatNO
Dim seat As String() = Split(tempSeat, "")
Dim down As String = seat(0)
Dim across As Integer = seat(1)
End If
答案 0 :(得分:0)
ASCII表包含它可以表示的每个字符的代码,因此......
...这意味着如果你想得到一个数字来表示每个字符,从1开始,你必须从该字符的ASCII码中减去64。假设你的座位总是有两个字符(例如:A1,C5 D9)......下面的代码对你来说应该没问题。
Dim location As String
location = "B1"
Dim row As Char
Dim rowId As Int32
Dim number As Char
row = location.Chars(0)
rowId = Asc(row) - 64
number = location.Chars(1)
Console.WriteLine($"Location: {location} | Row: {row}({rowId}) | Number: {number} |")
Console.ReadKey()
...另一方面,如果你有来自AZ的字母和数字可以大于9(例如:A20,K15),我会建议你采取另一条路径,例如... < / p>
Dim number As Int32
[...]
row = location.Chars(0)
rowId = Asc(row) - 64
number = 0
Int32.TryParse(location.Substring(1), number)
...测试一下,让我们知道!