如何按数字和字母拆分字符串
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)"
}
字符串是 "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)"
}