如何按数字和字母拆分字符串

How to split string by numerical and letters

字符串是 "H2" 或 "He2"。 如何拆分此字符串以获得像 "H"、"2" 或 "He" 、"2"

这样的结果

我尝试使用 string.components separatedBy .decimalDigits,但结果丢失了数字。

let intStr = elem.components(separatedBy: CharacterSet.decimalDigits).joined(separator: ":")

另一个选择是 (NS)Scanner:

let string = "He2"
let scanner = Scanner(string: string)
var element : NSString?
var ordinal = 0
if scanner.scanUpToCharacters(from: CharacterSet.decimalDigits, into: &element),
    scanner.scanInt(&ordinal) {
    let intStr = "\(element!):\(ordinal)"
}