美文网首页
iOS中获取一个字符串在一个长字符串中的所有Range

iOS中获取一个字符串在一个长字符串中的所有Range

作者: WindFlyCloud | 来源:发表于2018-04-10 11:04 被阅读0次

获取这个字符串text中的所有findText的所在的index

- (NSMutableArray *)getRangeStr:(NSString *)text findText:(NSString *)findText
{
    
    NSMutableArray *arrayRanges = [NSMutableArray arrayWithCapacity:20];
    
    if (findText == nil || [findText isEqualToString:@""])
    {
        
        return nil;
        
    }
    
    NSRange rang = [text rangeOfString:findText]; //获取第一次出现的range
    
    if (rang.location != NSNotFound && rang.length != 0)
    {
        
        [arrayRanges addObject:[NSNumber numberWithInteger:rang.location]];//将第一次的加入到数组中
        
        NSRange rang1 = {0,0};
        
        NSInteger location = 0;
        
        NSInteger length = 0;
        
        for (int i = 0;; i++)
        {
            
            if (0 == i)
            {
                
                //去掉这个abc字符串
                location = rang.location + rang.length;
                
                length = text.length - rang.location - rang.length;
                
                rang1 = NSMakeRange(location, length);
                
            }
            else
            {
                
                location = rang1.location + rang1.length;
                
                length = text.length - rang1.location - rang1.length;
                
                rang1 = NSMakeRange(location, length);
                
            }
            
            //在一个range范围内查找另一个字符串的range
            
            rang1 = [text rangeOfString:findText options:NSCaseInsensitiveSearch range:rang1];
            
            if (rang1.location == NSNotFound && rang1.length == 0)
            {
                
                break;
                
            }
            else//添加符合条件的location进数组
                
                [arrayRanges addObject:[NSNumber numberWithInteger:rang1.location]];
            
        }
        
        return arrayRanges;
        
    }
    
    return nil;
    
}

相关文章

  • iOS中获取一个字符串在一个长字符串中的所有Range

    获取这个字符串text中的所有findText的所在的index

  • Day4 字符串

    1. 获取字符串中的字符 获取单个字符 字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中...

  • 字符串匹配

    1.输入描述 判断短字符串中的所有字符是否在长字符串中全部出现。输入两个字符串。第一个为短字符,第二个为长字符。 ...

  • iOS开发——获取字符串中多个相同字符串的所有range

    1、初级(确定的子字符串) 当NSString中含有多个相同的子字符串,而又需要查询所有子字符串的位置时,单纯的使...

  • go常用字符串操作

    整理一些go的字符串常用操作。 修改字符串中的一个字符 字符串切片 使用for或者for-range遍历一个字符串...

  • 字符串相关操作

    字符串 一、字符的获取 获取单个字符   字符串中的每个字符都会对应一个唯一的下标(索引),用来表示字符在字符串中...

  • 字符串

    如何获取字符串每一个字节 rune 的使用 使用for range 遍历字符串 使用字节切片构造字符串 使用run...

  • iOS中字符串的用法汇总

    iOS中字符串的用法汇总 iOS中字符串的用法汇总

  • day04-日常笔记

    字符串操作 获取字符 1.获取单个字符 字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中的...

  • OC字符串基本使用

    一.不可变字符串的方法 创建字符串 从本地文件获取字符串 从网络中获取 字符串拼接 字符串长度 取其中一个字符串 ...

网友评论

      本文标题:iOS中获取一个字符串在一个长字符串中的所有Range

      本文链接:https://www.haomeiwen.com/subject/darfcxtx.html