Objective-c 截取子字符串

NSString类中提供了这样三个方法用于获取子字符串:

  • – substringFromIndex:

  • – substringWithRange:

  • – substringToIndex:

它们该怎么使用呢?见下面代码即可知道。

NSString *str = @"12345";

// NSString *subString0 = [str
substringFromIndex:-1];   //会放生越界错误

NSString *subString1 = [str substringFromIndex:0];   
   //@"12345"

NSString *subString2 = [str substringFromIndex:1];   
   //@"2345"

NSString *subString3 = [str substringFromIndex:4];   
   //@"5"

NSString *subString4 = [str substringFromIndex:5];   
   //@""

// NSString *subString5 = [str substringFromIndex:6];  
//会放生越界错误

// NSString *subString10 = [str substringToIndex:-1];  
 //会放生越界错误

NSString *subString11 = [str substringToIndex:0];   
     //@"“

NSString *subString12 = [str substringToIndex:1];   
     //@"1”

NSString *subString13 = [str substringToIndex:4];   
     //@"1234“

NSString *subString14 = [str substringToIndex:5];   
     //@"12345”

// NSString *subString15 = [str substringToIndex:6];    
//会放生越界错误

NSRange range1 = NSMakeRange(-1, 5);

NSRange range2 = NSMakeRange(0, 6);

NSRange range3 = NSMakeRange(0, 5);

NSRange range4 = NSMakeRange(1, 4);

NSRange range5 = NSMakeRange(0, 0);

NSRange range6 = NSMakeRange(4, 1);

//NSString *subString31 = [str substringWithRange:range1]; //会放生越界错误

//NSString *subString32 = [str substringWithRange:range2]; //会放生越界错误

NSString *subString33 = [str substringWithRange:range3];
  //@"12345“

NSString *subString34 = [str substringWithRange:range4];
  //@"2345”

NSString *subString35 = [str substringWithRange:range5];
  //@"”

NSString *subString36 = [str substringWithRange:range6];
  //@"5”

时间: 2024-10-13 09:27:21

Objective-c 截取子字符串的相关文章

用C#通过正则表达式截取字符串中符合条件的子字符串

仅仅作为简单的记录,不多说直接上代码(仅测试使用): private void Test() { Regex ConnoteA = new Regex("^[a-zA-Z]\\d{8}$"); Regex ConnoteAA = new Regex("^[a-zA-Z]{2}\\d{7,10}$"); Regex ConnoteAAA = new Regex("^[a-zA-Z]{3}\\d{5,9}$"); Regex ConnoteAAAA

使用后缀数组寻找最长公共子字符串JavaScript版

后缀数组很久很久以前就出现了,具体的概念读者自行搜索,小菜仅略知一二,不便讨论. 本文通过寻找两个字符串的最长公共子字符串,演示了后缀数组的经典应用. 首先需要说明,小菜实现的这个后缀数组算法,并非标准,只是借鉴了其中的思想. 小菜实现的算法,有两个版本,第一个是空间换时间,第二个是时间换空间. 空间换时间版本 1 /* 2 利用后缀数组获取两个字符串最长公共子字符串 3 空间换时间版本 4 @params 5 s1 String,要分析的字符串 6 s2 String,要分析的字符串 7 no

NSString类中三个用于获取子字符串的方法:

NSString类中提供了这样三个方法用于获取子字符串: – substringFromIndex: – substringWithRange: – substringToIndex: 它们该怎么使用呢?见下面代码即可知道. NSString *str = @"12345"; -substringFromIndex: 以指定索引开始(包括指定索引的字符,索引从0开始),并包括之后的全部字符: // NSString *subString0 = [str substringFromInd

NSString从父字符串提取子字符串

NSString除了创建, 对比等等方法, 它还可以在父字符串中提取一段字符形成一个新的子字符串. 使用的方法一共有三种: substringToIndex:如果我在这方法的后面输入一个6, 意思就是截取从第一到第六个的字符, 并形成一个新的子字符串, 类似于开区间, (0 <= a > 6) substringFromIndex:如果我在这方法的后面输入一个5, 意思就是截取从第五到最后一个的字符串, 并形成一个新的子字符串, 类似于闭区间, (5 <= a >=x) subst

subString,split方法——获取子字符串,分割數組

1.2.31 subString方法——获取子字符串本文所属图书 > Java程序开发参考手册 subString方法实现对字符串从指定的索引位置开始截取,直到此字符串的末尾,并返回一个新的字符串. 语法1 public String subString(int beginIndex) 返回值:指定的子字符串. 参数:beginIndex为开始处的索引(包括该位置). 示例 本示例使用subString方法截取字符串strCom,索引位置从3开始截取到字符串strCom的结尾处,并将截取的结果赋

[Swift]扩展String类:实现find()查找子字符串在父字符串中的位置

类似于C++中的find()函数:比较等于val的范围中第一个元素的迭代器.如果没有元素匹配,则函数最后返回. 返回值是子字符串在父字符串中的位置(下标记录), 如果没有找到,那么会返回一个特别的标记npos(-1). 返回值可以看成是一个Int型的数. 1 //String扩展 2 extension String { 3 // 截取字符串:从index到结束处 4 // - Parameter index: 开始索引 5 // - Returns: 子字符串 6 func subString

shell 中获取子字符串的正确姿势

前言 shell 取子串的方式有点特别,你写的匹配字符串是需要从头开始匹配的,第一个匹配到了才开始匹配下一个,这个类似于python中的match的工作方式. 1,获取子串有两种方式 使用字符串匹配的方式去截取.其中匹配的方式和python中的match的工作方式很像,只是其截取的是那些 没有匹配 到的字符串而已. 使用下标的方式去截取 2,匹配的方式 2.1, 左边开始匹配 #:最小限度开始匹配 ##:最大限度开始匹配 案例: ????str="hello~world~~~Ha" ?

[LeetCode] Unique Substrings in Wraparound String 封装字符串中的独特子字符串

Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz", so s will look like this: "...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....". Now we have another string p. Your job is to find

寻找子字符串——上

第十一章的习题7,刚开始觉得简单,可是实际思考时发现要考虑很多东西,然后脑子就一片混沌了,然后问题一拖一个月,然而时间并没有帮我解决掉问题,问题还是要自己去努力接触才能发展的呀. 有参考答案,上网也找到了答案,昨天验证了下,是对的.自己就是眼高手低,还犟,想凭借自己的"智慧"想出来(别人的我看了觉得费劲,而且很难理解他的思想,他到底是怎么想到的呢).不过不能自负,遇到问题想不出来很正常,就该学习自己想不到的思路,改变自己的思维方式.应该向前人学习,可以先读懂,理解一点是一点,接触多了自