将字符串"xy"转换为"x"和"y"

  • 本文关键字:转换 字符串 xy vb.net
  • 更新时间 :
  • 英文 :


我已经看到了很多关于如何在 vb 中拆分字符串的示例,但我无法让它们为我工作。

试图解决的问题是我有一个座位号是"A1",我想有 2 个变量,分别是"A",然后是"1"。(我也要将 A 变成一个值 1,所以如果你也知道它的 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

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()

。另一方面,如果您有来自 A-Z 的字母和可以大于 9 的数字(例如:A20、K15),我建议您走另一条路,例如......

    Dim number As Int32
    [...]
    row = location.Chars(0)
    rowId = Asc(row) - 64
    number = 0
    Int32.TryParse(location.Substring(1), number)

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

最新更新