小编Ban*_*pal的帖子

如何从NSString中删除最后一个unicode符号

我已经实现了与文本字段关联的自定义键盘,因此当用户按下删除按钮时,我从字符串中删除最后一个字符,并手动更新当前文本字段文本.

NSRange range = NSMakeRange(currentTextFieldString.length-1, 1);
[currentTextFieldString replaceCharactersInRange:range withString:@""];
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.

现在,问题是,用户可以选择输入一些特殊的unicode符号,这些不是1个字节,它们也可以是2个字节,现在按下删除按钮,我必须删除整个符号,但如果我按照上述方法,用户必须按两次删除按钮.

在这里,如果我这样做:

NSRange range = NSMakeRange(currentTextFieldString.length-2, 2);
[currentTextFieldString replaceCharactersInRange:range withString:@""];
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是,正常的字符,只有1个字节,一次被删除两次.

如何处理这种情况?

提前致谢.

编辑:

奇怪的是,如果我切换到iPhone键盘,它会适当地处理两种情况.必须有一些方法可以做到这一点,有一些我缺少的东西,但我无法弄清楚是什么.

iphone objective-c nsstring ios nsstringencoding

6
推荐指数
1
解决办法
2334
查看次数

如何在NSString中查找格式的出现

我正在阅读Feed,并且需要找到字符串格式的出现,例如,在"Feed for 03/02/2012"中.现在这个日期将始终采用以下格式:%@ /%@ /%@.我需要找到这种格式发生,从而提取日期.日期和月份可以是任意日期,因此我没有特定的日期来搜索.我在文档中搜索,找不到它.只有我可能的选项似乎采取了一个月的所有12个组合,如"/ 12 /",并找到任何这些的发生.

有没有更好的方法?

iphone objective-c nsstring find-occurrences

2
推荐指数
1
解决办法
235
查看次数