gpt4 book ai didi

ios - 更智能的自动资本化

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:19 25 4
gpt4 key购买 nike

我一直在四处寻找,我想知道是否有一种简单的方法可以将 UITextField 中的所有单词大写,同时保留某些单词(例如 of , the, or 等)小写,除非它们是短语的第一个词。

这是一个

Example of the Effect I'm Trying to Convey.

我发现的一种方法是在文本字段值中搜索特定单词,并在用户键入新单词或字符时将其替换为小写版本,也许会听到空格键。

我不确定上面的方法是否是最佳实践,或者我的搜索范围是否不够广泛,无法找到混合的解决方案。

我最初的想法是沿着这些“伪代码”行:

When value of textfield is changed
Get current value textfield
For each word in value:
If the word matches ("For", "Of", "The", etc.) and the word is not the first word in the value:
Change the word to lowercase, and replace word
Go to next word

我的实际问题主要是性能问题。这种方法对我的申请来说会不会过于费力?如果可以,有没有更好的解决方案?

谢谢大家的帮助!


更新:

感谢 holex、cluemein 和其他已经发表评论和回答的人。如果有机会,我会尝试您的解决方案。

最佳答案

将单词转换为小写的更好方法是将那些不是您指定的单词的单词大写。设置 if 语句以将第一个单词的首字母大写,如果后面的单词不是您指定的单词,则将其大写。然后,如果您想确保指定的单词在第一个单词后没有大写,请使用 else 语句。 “伪代码”示例:

Capitalize letter of first word;
Move on to next word;

While not end of textfield (or while typing):
if word is not ("the"|"and"|"of"|"or"|...):
capitalize first letter;
else:
set first letter to lowercase;
move to next word at space;

就运行时而言,这平均大约是通过文本查找指定单词的速度的两倍。这不是您要使用的代码,而是您要实现的算法。另外,请考虑 holex 所说的关于空间的内容。我将如何实现此算法留给您。澄清一下,此算法适用于自动大写和自动设置为小写。

关于ios - 更智能的自动资本化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658451/

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