OC字符串查找

  • OC中字符串查找操作
 1 #import <Foundation/Foundation.h>
 2
 3 int main(int argc, const char * argv[]) {
 4     @autoreleasepool {
 5         //查找字符串
 6         NSString *str1=@"abcdef";
 7         NSString *str2=@"abc";
 8         NSRange range1=[str1 rangeOfString:str2];//从str1字符串中找str2字符串出现的位置
 9         NSLog(@"位置为:%ld,长度为:%ld",range1.location,range1.length);//打印结果:位置为:0,长度为:3
10         NSLog(@"%@",NSStringFromRange(range1));//location=0, length=3
11
12         NSString *str3=@"k";
13         NSString *str4=@"aakcckdd";
14         //求字符串str3在str4第一次出现的位置
15         NSRange r1=[str4 rangeOfString:str3];//rangeOfString 如果找不到,location为NSNotFound,length为0
16         //计算第一次str3在str4出现的位置并从此位置向后找,剩下的长度为str4总长度减去已经找到第一个所在位置的长度
17         //(r1.location+r1.length):表示第一次查找到符合的位置
18         //str4.length-(r1.location+r1.length):表示从上次查找到得位置起到最后所剩的长度
19         NSRange r2= {(r1.location+r1.length),str4.length-(r1.location+r1.length)};
20         NSLog(@"第一次出现的位置为:%ld,长度为:%ld",r1.location,r1.length);//结果为:2,1
21         NSLog(@"第二次开始查找的位置为:%ld,需要查找的长度为:%ld",r2.location,r2.length);//结果为:3,5
22         //查找第二次str3在str4中出现的位置
23         NSRange range2=[str4 rangeOfString:str3 options:0 range:r2];
24         NSLog(@"第二次出现的位置为:%ld,长度为:%ld",range2.location,range2.length);//结果为:5,1
25
26         //NSRange 结构体
27         /* typedef struct _NSRange {
28          NSUInteger location;  位置
29          NSUInteger length;    长度
30          }  NSRange;
31          */
32
33     }
34     return 0;
35 }
时间: 2024-10-13 06:45:25

OC字符串查找的相关文章

OC字符串常用函数

创建一个字符串对象: 1 2 3 4 5 6 7 8 9 NSstring * str1 = @"hello"; NSString * str = [[NSString alloc]initWithString:@"hello world!"]; NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串 int a = 123;

oc字符串的一些使用方法

1.字符串创建一 NSString *[email protected]"asdfghjkl"; NSLog(@"%@",str); 2.字符串创建二 NSString *str=[[NSString alloc]initWithFormat:@"abc"]; NSLog(@"%@",str); 3.判断字符串的长度 NSString *str=[[NSString alloc]initWithFormat:@"ab

黑马程序员--oc基础--oc字符串的使用

-------- Java培训.Android培训.iOS培训..Net培训.期待与您交流 -------- 创建一个字符串对象 NSstring * str1 = @"hello"; NSString * str = [[NSString alloc]initWithString:@"hello world!"]; NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world&qu

lintcode 容易题:strStr 字符串查找

题目: 字符串查找 字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数.你的任务是实现这个函数. 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始). 如果不存在,则返回 -1. 样例 如果 source = "source" 和 target = "target",返回 -1. 如果 source = "abcdabcdefg" 和

Python中字符串查找效率比较

Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit import re def find(string, text): if string.find(text) > -1: pass def re_find(string, text): if re.match(text, string): pass def best_find(string, text): i

字符串查找(二分和快排的运用)

Description 现在给你一个字典,再给出几个字符串,让你查找,这些字符串是否在其中. Input 第一行是两个整数M,N分别表示字典数和字符串数. 第2至第M+1行,每一行是一个字典. 第M+2至第M+2+N行是徐查找的字符串. (n<=10,0000, m<=20,0000, 字符串长度不超过10,且均为小写字母) Output 共N行,每行表示第i个字符串在不在字典中,用0表示不在,1表示在. Sample Input 5 3 acc cat multiply do will ac

c#中的字符串查找函数

indexOf()方法,查找某字符串在一个字符串内的位置,没有则返回-1string aa="abcdef";int a=aa.indexOf("bc");//a会等于1int b=aa.indexOf("a");//b会等于0int c=aa.indexOf("g");c会等于-1所以你只要判断返回出来的int值是不是小于0就知道这个字符串里有没有包含指定的另一个字符串 c#中的字符串查找函数,布布扣,bubuko.com

Rabin-Karp指纹字符串查找算法

首先计算模式字符串的散列函数, 如果找到一个和模式字符串散列值相同的子字符串, 那么继续验证两者是否匹配. 这个过程等价于将模式保存在一个散列表中, 然后在文本中的所有子字符串查找. 但不需要为散列表预留任何空间, 因为它只有一个元素. 基本思想 长度为M的字符串对应着一个R进制的M位数, 为了用一张大小为Q的散列表来保存这种类型的键, 需要一个能够将R进制的M位数转化为一个0到Q-1之间的int值散列函数, 这里可以用除留取余法. 举个例子, 需要在文本 3 1 4 1 5 9 2 6 5 3

c数据结构的字符串查找的Brute-Force算法

#include<stdio.h> #include<malloc.h> #include<string.h> //定义字符串的结构体 typedef struct { char *str;//字符串 int maxLength;//最大可以存放字符的长度 int length;//目前的字符长度 }DString; //1.初始化操作 //初始化操作用来建立和存储串的动态数组空间以及给相关的数据域赋值 void Initiate(DString *s,int max,