首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从NSString获取单个NSString字符

如何从NSString获取单个NSString字符
EN

Stack Overflow用户
提问于 2010-10-01 13:05:59
回答 4查看 70K关注 0票数 72

我想从NSString中的某个地方获取一个字符。我希望结果是一个NSString。

这是我用来在索引中获取单个字符的代码:

代码语言:javascript
复制
[[s substringToIndex:i] substringToIndex:1]

有没有更好的方法呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-01 13:27:57

这也将检索索引i处的一个字符作为NSString,并且您只使用了一个NSRange结构,而没有使用额外的NSString。

代码语言:javascript
复制
NSString * newString = [s substringWithRange:NSMakeRange(i, 1)];
票数 133
EN

Stack Overflow用户

发布于 2013-09-09 09:41:40

如果你只想从一个NSString中得到一个字符,你可以试试这个。

代码语言:javascript
复制
- (unichar)characterAtIndex:(NSUInteger)index;

如下所示:

代码语言:javascript
复制
NSString *originalString = @"hello";
int index = 2;
NSString *theCharacter = [NSString stringWithFormat:@"%c", [originalString characterAtIndex:index-1]];
//returns "e".
票数 40
EN

Stack Overflow用户

发布于 2010-10-01 13:39:29

你的建议只适用于像ASCII这样的简单字符。NSStrings存储unicode,如果你的字符有几个unichars长,那么你可能会以胡言乱语结束。使用

代码语言:javascript
复制
- (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)index;

如果你想确定你的角色有多少个独角兽。我使用它来遍历我的字符串,以确定字符边框出现的位置。

完全支持unicode是一项很大的工作,但这取决于您使用的语言。我看到许多亚洲文本,所以大多数字符从一个空间溢出,所以这是我需要做的工作。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3836670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档