gpt4 book ai didi

ios - Swift - 在 textView 中识别光标前的单词(带有特殊字符)

转载 作者:搜寻专家 更新时间:2023-10-31 22:10:31 25 4
gpt4 key购买 nike

我有一个扩展程序可以识别并返回光标前的单词:

extension UITextView {

var currentWord : String? {

let beginning = beginningOfDocument

if let start = position(from: beginning, offset: selectedRange.location),
let end = position(from: start, offset: selectedRange.length) {

let textRange = tokenizer.rangeEnclosingPosition(end, with: .word, inDirection: 1)

if let textRange = textRange {
return text(in: textRange)
}
}
return nil
}

我正在使用 UItextGranularity.word 并且工作正常。

但是我的问题是:

如果在单词 i 的开头有一个@,它将不会被返回。所以如果我有@jon,那么当前词就是jon。有没有一种方法可以包含 @ 以便获得带有特殊字符的完整单词?

谢谢

最佳答案

您似乎无法使用 UITextInputTokenizer 来做到这一点。您可以试试这个解决方案:

var currentWord: String? {
let regex = try! NSRegularExpression(pattern: "\\S+$")
let textRange = NSRange(location: 0, length: selectedRange.location)
if let range = regex.firstMatch(in: text, range: textRange)?.range {
return String(text[Range(range, in: text)!])
}
return nil
}

关于ios - Swift - 在 textView 中识别光标前的单词(带有特殊字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47332702/

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