转换字符串" xy"进入" x"和" y"

时间:2017-01-04 12:06:17

标签: vb.net

我见过很多关于如何在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

1 个答案:

答案 0 :(得分:0)

ASCII表包含它可以表示的每个字符的代码,因此......

  • A => 65
  • B => 66
  • C => 67
  • ...
  • Z => 90

...这意味着如果你想得到一个数字来表示每个字符,从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)

...测试一下,让我们知道!