gpt4 book ai didi

ios - 获取属性字符串中具有 url 属性的字符串数量

转载 作者:行者123 更新时间:2023-11-29 00:00:43 27 4
gpt4 key购买 nike

我正在尝试查找属性字符串中具有 url 属性的字符串数量。例如,我会有这样的内容:@“你好,我的名字是迈克尔”。

name 是一个带有 url 属性的字符串,例如 {URL: "www.google.com"}。

我想查找我的属性字符串中带有 url 的字符串数量。我尝试在字符串上使用 enumerateAttributes ,但这仅返回适用于整个字符串的属性。当我打印出字符串时,我可以清楚地看到有具有此属性的字符串。我怎样才能访问它们?

最佳答案

你很接近。为此,您可以使用 enumerateAttribute(_:in:options:using:) 方法。您传入您感兴趣的属性(在您的情况下是 .link),它会使用字符串的每个子范围以及属性的范围和值来调用闭包。这包括不具有该属性的子范围。在这种情况下,将传递 nil 作为值。因此,要计算字符串中的链接,您需要计算非零属性:

func linksIn(_ attributedString: NSAttributedString) -> Int {
var count = 0
attributedString.enumerateAttribute(.link, in: NSRange(location: 0, length: attributedString.length), options: []) { attribute, _, _ in
if attribute != nil {
count += 1
}
}
return count
}

关于ios - 获取属性字符串中具有 url 属性的字符串数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49541417/

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