首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找字符串的子字符串范围

查找字符串的子字符串范围
EN

Stack Overflow用户
提问于 2013-06-08 18:20:19
回答 2查看 31.6K关注 0票数 21

我正在尝试弄清楚如何获得字符串中的子字符串的范围。我所说的范围是指子串开始和结束的地方。因此,如果我有以下字符串示例:

代码语言:javascript
复制
NSString *testString=@"hello everyone how are you doing today?Thank you!";

如果我要查找的子字符串(在本例中)是"how are you 31“,那么开始范围应该是15,结束范围应该是31。

代码语言:javascript
复制
  (15, 31)

有人能告诉我如何通过编程来做到这一点吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-08 18:22:34

您可以使用-rangeOfString方法查找字符串中的子字符串的位置。然后,您可以将范围的位置与NSNotFound进行比较,以查看字符串是否确实包含该子字符串。

代码语言:javascript
复制
NSRange range = [testString rangeOfString:@"how are you doing"];

if (range.location == NSNotFound) {
    NSLog(@"The string (testString) does not contain 'how are you doing' as a substring");
}
else {
    NSLog(@"Found the range of the substring at (%d, %d)", range.location, range.location + range.length);        
}
票数 53
EN

Stack Overflow用户

发布于 2013-06-08 18:55:32

这是非常直接的。你说你想搜索字符串“大家好,你今天好吗?谢谢!”表示“你好吗?”

你说你需要第一个字符和最后一个字符的位置。

代码语言:javascript
复制
NSString *testString=@"hello everyone how are you doing today?Thank you!";

NSRange range = [testString rangeOfString:@"how are you doing"];

NSUInteger firstCharacterPosition = range.location;
NSUInteger lastCharacterPosition = range.location + range.length;

现在你有了最后两个变量。

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

https://stackoverflow.com/questions/16998478

复制
相关文章

相似问题

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