从 swift 中的字符串中提取字符

character extract from string in swift

我有一项任务是用棋盘做一些事情。输入给了我们一些国际象棋棋子的起始位置。例如 "b4" 或 "a6" 或类似的东西。我如何分解输入并从中得到两个整数,就像在 C++ 中一样:

string input;
cin>>input

int coord_x = input[0] - 'a';

int coord_y = input[1]

我无法在 swift 中做到这一点。我做了类似的事情:

let input : String=readLine()!
let characters = Array(input)

然后尝试使用 int 但它不起作用,无论我尝试什么... swift 中数组的内容是什么类型?

您可以像这样检索 c 字符串表示形式:

let string = "a5"
let scalars = string.lowercased().cString(using: .ascii)!

let first = scalars[0]
let second = scalars[1]

检索 unicodeScalar 字符可能更安全:

let string = "a5".lowercased()
let characters = Array(string.unicodeScalars)

let first = characters[0].value - UnicodeScalar(unicodeScalarLiteral: "a").value