gpt4 book ai didi

Swift - 正则表达式 - 提取括号中的数字除以逗号(1,1)(2,3)

转载 作者:行者123 更新时间:2023-12-04 14:10:39 24 4
gpt4 key购买 nike

我需要从字符串 ex 中提取数字。 “(1,1)(3,3)(4,4)”。我尝试使用“\d(,)\d)”,但我也得到了逗号。如何排除逗号并制作 e 元组或数组数组 [[1,1],[3,3]...

let str = "(1,1) (2,2) (3,3)"
let pattern = "\\d(,)\\d"
let regex = try! NSRegularExpression(pattern:pattern)
let results = regex.matches(in: str, options: [], range: range)

最佳答案

一个可能的解决方案是只捕获数字,用 [$1,$2]" 替换每个出现的地方,然后在中间插入逗号,将表达式括在方括号中以获得 JSON 并对其进行解码

let str =  "(1,1)(3,3)(4.4)"
let str1 = str.replacingOccurrences(of: "\\((\\d+)[.,](\\d+)\\)", with: "[$1,$2]", options: .regularExpression).replacingOccurrences(of: "][", with: "],[")
let result = try! JSONDecoder().decode([[Int]].self, from: Data(("[" + str1 + "]").utf8))

中间结果是:

  • 第一个 replacingOccurrences:[1,1][3,3][4,4]"
  • 第二个 replacingOccurrences:[1,1],[3,3],[4,4]"
  • 数据的参数(... [[1,1],[3,3],[4,4]]"

关于Swift - 正则表达式 - 提取括号中的数字除以逗号(1,1)(2,3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64611570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com