我有一个string
,它有一个数学方程,可以包含一个负数"-6-9"
。
我需要从这个字符串中提取所有的数字,并将它们放入一个numbersArray
中。
let numbersArray = string.components(separatedBy: CharacterSet(charactersIn: "+-x/"))
我需要的输出:["-6", "9"]
接收到的输出:["", "6", ""]
我想是因为我有双字串。在我的例子中,在字符串(-
)中有两个minus,使用这个减号,我试图分离string
。
如何正确地分离字符串中的数字以接收所需的输出?
发布于 2022-07-22 13:41:29
你可以用regex做这件事,类似这样的事情就可以了:
do {
let string = "-6-9"
let regex = try NSRegularExpression(pattern: "[\\+\\-][0-9]+")
let results = regex.matches(in: string,
range: NSRange(string.startIndex..., in: string))
let res = results.map {
String(string[Range($0.range, in: string)!])
}
print(res.compactMap { Int($0) })
}
catch {
}
输出:
[-6, -9]
https://stackoverflow.com/questions/73080611
复制相似问题