按大写 words/chars 和数字拆分字符串
Split string by uppercase words/chars and numerics
我有这样的字符串 - "H2SO4liH2",我需要用大写元素和数字拆分这个字符串。在外面我需要得到这样的数组
"H2"、"S"、"O4"、"Li"、"H2" 或
"H"、“2”、"S"、"O"、“4”、"Li"、"H"、“2”[=11=]
这使用了 toheedNiaz 的回答中提供的模式,但在 Swift 上下文中:
let string = "H2SO4LiH2"
let pattern = "[A-Z][^A-Z]*"
do {
let regex = try NSRegularExpression(pattern: pattern)
let matches = regex.matches(in: string, range: NSRange(string.startIndex..., in: string))
for match in matches {
let range = Range(match.range, in: string)!
print(string[range])
}
} catch {
print("Regex Error:", error)
}
我有这样的字符串 - "H2SO4liH2",我需要用大写元素和数字拆分这个字符串。在外面我需要得到这样的数组 "H2"、"S"、"O4"、"Li"、"H2" 或 "H"、“2”、"S"、"O"、“4”、"Li"、"H"、“2”[=11=]
这使用了 toheedNiaz 的回答中提供的模式,但在 Swift 上下文中:
let string = "H2SO4LiH2"
let pattern = "[A-Z][^A-Z]*"
do {
let regex = try NSRegularExpression(pattern: pattern)
let matches = regex.matches(in: string, range: NSRange(string.startIndex..., in: string))
for match in matches {
let range = Range(match.range, in: string)!
print(string[range])
}
} catch {
print("Regex Error:", error)
}