gpt4 book ai didi

ios - CFStringTokenizer不标记小写句子

转载 作者:行者123 更新时间:2023-12-01 16:51:15 24 4
gpt4 key购买 nike

我正在尝试将CFStringTokenizer与kCFStringTokenizerUnitSentence结合使用,以将字符串拆分为句子。我遇到的第一个问题是,句子必须大写才能被识别为句子。如果不是,它只是认为这是前一句话的一部分。

我正在分割用户输入的文本,因此我希望文本非常不干净。

我还能使用CFStringTokenizer进行其他操作以使其检测未大写的句子吗?还是我必须使用另一种完全拆分的方法?

我按照这个SO问题的答案进行了实施:
How to get an array of sentences using CFStringTokenizer?

注意:经过更多测试后,似乎使用kCFStringTokenizerUnitSentence,如果出现“!”还是一个“?”后面跟着一个不大写的句子,它将识别该句子。同样,如果这些标点符号之一后接一个句子,且“!”之间没有空格和第一个单词,它将仍然分开。

因此,我需要解决的一个情况是“。”。其次是没有大写字母的句子。

我发现的另一个选择是,如果您要从textField获取文本,请使用以下方法:

textField.autocapitalizationType = UITextAutocapitalizationTypeSentences;

它会自动将句子大写,因此您不必担心为CFStringTokenizer进行转换。它仍然不能解决缩写之类的极端情况,但是至少在我的情况下,如果错误,用户将可以选择删除自动大写字母。

最佳答案

您可以先将输入字符串转换为所有大写字母,然后通过CFStringTokenizer运行它,并使用范围获取原始输入字符串的子字符串。但是您在这里必须小心,因为转换为大写字母后,某些字符可能会超过1个字符。

关于ios - CFStringTokenizer不标记小写句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15673931/

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