gpt4 book ai didi

swift - 这个从 Swift 中的字符串中提取主题标签的函数有什么问题?

转载 作者:行者123 更新时间:2023-11-28 09:54:24 26 4
gpt4 key购买 nike

我有这个扩展:

extension String {
public func seperateHashtags(char : String) -> [String]{
var word : String = ""
var words : [String] = [String]()
for chararacter in self.characters {
if String(chararacter) == char && word != "" {
words.append(word)
word = char
}else {
word += String(chararacter)
}
}
words.append(word)
return words
}
}

我想从任何给定的文本中获取一组主题标签。我有一个包含文本的 UITextView:

write anything here... #one #two three #four

我希望有一个输出:

["one", "two", "four"]

但是当我这样做的时候:

print(myTextView.text.seperateHashtags("#"))

我得到:

["write anything here... ", "#one ", "#two three ", "#four"]

我该如何解决?

最佳答案

您可以像这样使用正则表达式并获取所有主题标签:

var hashtags = [String]()
var str = "#one #two three #four"
let regex = try NSRegularExpression(pattern: "(#[A-Za-z0-9]*)", options: [])
let matches = regex.matchesInString(str, options:[], range:NSMakeRange(0, str.characters.count))
for match in matches {
print("match = \(match.range)")
hashtags.append(NSString(string: str).substringWithRange(NSRange(location:match.range.location + 1, length:match.range.length - 1)))
}

输出:

["one", "two", "four"]

关于swift - 这个从 Swift 中的字符串中提取主题标签的函数有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39748106/

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