gpt4 book ai didi

arrays - 在 Swift 中查找由特殊字符包裹的子字符串

转载 作者:行者123 更新时间:2023-11-28 11:57:57 25 4
gpt4 key购买 nike

我有这个字符串:

let string = "Users: [Ricky], [Bob], [Jane]"

我正在尝试制作一个字符串Array(例如。["Ricky","Bob","Jane"])括号。

问题:如何对结果进行子字符串化和迭代?

Regex 是正确的选择吗?

let string = "Users: [Ricky], [Bob], [Jane]"
let pattern = "/[(.*?)]/"
let regex = try! NSRegularExpression(pattern: pattern)
let result = regex.matches(in:string, range:NSMakeRange(0, string.utf8.count))

最佳答案

以下模式是您所需要的:

let pattern = "\\[([^]]*)\\]"

\\[ - 文字 [

[^]]* - ]

以外的任意数量的字符

\\] - 文字 ]

( ) 仅在您需要引用方括号内的文本时才需要。

这是完整的工作代码:

let string = "Users: [Ricky], [Bob], [Jane]"
let pattern = "\\[([^]]*)\\]"
let regex = try! NSRegularExpression(pattern: pattern)
let result = regex.matches(in:string, range:NSMakeRange(0, string.utf8.count))
let names = result.map { (string as NSString).substring(with: $0.range(at: 1)) }
print(names)

输出:

["Ricky", "Bob", "Jane"]

关于arrays - 在 Swift 中查找由特殊字符包裹的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50572351/

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