NSString上一章我们讲解了如何在父字符串中提取它的一部分作为一个新的子字符串而存在, 今天我们就来讲讲怎么知道子字符串在父字符串中的位置, 以及长度是多少.

这里使用的方法:

NSRange: 前面我们说过, NSRange是作为一个结构体一样的存在, 它里面是由两个长整数类型构成的, 而rangOfString:就是把要判断的子字符串在这声明, 由它来返回给NSRange来判断子字符串所在父字符串的位置以及长度.

下面是简单例子:

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {@autoreleasepool {//查找子字符串的位置和长度.//所谓的子字符串就是主字符串中的一部分.NSString *str = @"I am a so bad man.";NSString *subStr = @"so";NSRange range = [str rangeOfString:subStr];//NSRange是返回值类型.//NSRange是一个结构体, 由两个长整数类型组成.//location表示位置, length表示长度.//查找子字符串的方法, 表示找到subStr子字符串的位置, 并且通过返回值获得.
        NSLog(@"location = %lu length = %lu", range.location, range.length);//打印range所在父字符串的位置和长度.
    }return 0;
}

下面是输出的结果:

2014-10-11 15:47:25.821 Substring[1201:303]
location = 7
length = 2
Program ended with exit code: 0

这个结果说明了, range在父字符串中是从第7个字符开始的, 长度是2.

转载于:https://www.cnblogs.com/iOSCain/p/4019214.html

NSString的形式--可变字符串--查方法相关推荐

  1. OC不可变字符串和可变字符串(1)

    在OC中,字符串有:不可变字符串(NSString).可变字符串(NSMutableString). 可变字符串的方法继承于不可变字符串. 可变字符串 1.初始化一个字符串对象(除以下方法外,还可以使 ...

  2. python的三种字符串格式化方法

    刚入门python的同学,特别是,没有系统的学习过python,而是学过别的语言,直接上手python的同学,怕是还不是很了解python强大的字符串格式化方法 1.最方便的 print 'hello ...

  3. python语言中内置的字符串排版方法_python基础知识(python内置数据类型-字符串)...

    python中的字符串 字符串基本特点 字符串的本质是字符序列.python中的字符串是不可变的,无法对原字符串做任何修改(不能用下标赋值的方式去改变字符串).但是可以将字符串的一部分赋值创建新的字符 ...

  4. Objective-C学习笔记2013[NSString]字符串[可变字符串中,加用app减用delete]

    Objective-C学习笔记 小常识: NS是Cocoa类对象类型的前缀,来源于史蒂夫-乔布斯被苹果开除那段时间建立的公司NeXT. @是Cocoa元素的前缀,很多地方我们会看到,比如接下来... ...

  5. java script的图片隐藏,java和javascript中过滤掉img形式的字符串不显示图片的方法...

    本文实例讲述了java和javascript中过滤掉img形式的字符串不显示图片的方法.分享给大家供大家参考.具体实现方法如下: 1. javascript过滤掉和形式的字符串 复制代码代码如下: 过 ...

  6. python list元素合并_python list 合并连接字符串的方法

    python list 合并连接字符串的方法 更新时间:2013年03月09日 22:02:18 作者: python 列表合并字符串,我们一般会用到字符串的join方法来操作.下面通过代码的形式,详 ...

  7. scala的字符串的方法(五)

    1.创建一个字符串 以下是创建一个字符串的代码 - var greeting = "Hello world!";// 或者var greeting:String = "H ...

  8. java中字符串和数组如何比较_[Java教程]javascript中数组和字符串的方法比较

    [Java教程]javascript中数组和字符串的方法比较 0 2016-07-19 23:00:05 ×目录[1]可索引 [2]转换 [3]拼接[4]创建[5]位置 前面的话 字符串和数组有很多的 ...

  9. IOS 学习笔记 2015-03-24 OC-API-不可变字符串

    大部分是模仿// // main.m // OC-API-不可变字符串 // // Created by wangtouwang on 15/3/25. // Copyright (c) 2015年 ...

最新文章

  1. pat 食物链(状态压缩求哈密顿回路)
  2. l-logger命令基本介绍
  3. 蓝桥杯利用字母可以组成一些美丽的图形,
  4. php空格是什么,php删除空格函数是什么
  5. JSF的web.xml配置
  6. 关于物联网通信协议(通讯协议)
  7. 做人:失信是最大的破产!
  8. 【JAVA核心知识】6.1: JAVA IO基础
  9. 高级点的php书,深入理解php:高级技巧、面向对象与核心技术(原书第3版) 中文pdf扫描版[76MB]...
  10. IssueTrackerCSVS 代码笔记-数据层的反射工厂模式
  11. 读《豆瓣的基础架构》有感
  12. 15款顶级开源人工智能工具推荐
  13. Windows 系统(包含Server) 官方镜像下载--阿里云盘
  14. 大数据行业人士必知10大数据思维原理
  15. 《HarmonyOS开发 - 小凌派-RK2206开发笔记》第1章 开发环境搭建
  16. 关于计算机知识脑筋急转弯,脑筋急转弯及知识竞答
  17. 学习Python的第四天
  18. 电容式触摸感应技术原理之自容式触摸按键电极设计建议(1)
  19. day1 计算机简史(概念)②
  20. Shopee末端物流智能提效之路

热门文章

  1. vue 扁平化_以vue+TreeSelect为例,如何将扁平数据转为tree形数据
  2. 马恩驰:R向量化运算
  3. 数据挖掘:数据清洗、转换和消减
  4. linux内核启动后键盘不能用,编译linux-0.11内核后键盘不对的问题解决方法,比如/变成了-...
  5. linux命令大全私房菜,linux命令大全(自己制作,基于鸟书私房菜以及man)-D
  6. linux 单显卡一拖二,那些有双显卡的,可以试试用opensuse一拖二(拖机)
  7. Leetcode143. 重排链表 (golang描述)
  8. 汇编学习--7.12--总结
  9. 学习 springboot 中出现的问题
  10. python命名规范_Python 常用命名规则