[IOS] objective-c NSString indexOf

[IOS] objective-c NSString indexOf

objective-c 에서 NSString 의 문자열 포함관계(contains) 확인하는 방법

#define contains(str1, str2) ([str1 rangeOfString: str2].location != NSNotFound)

(중략)

// using

NSString a = @”PUC MINAS – BRAZIL”;
NSString b = @”BRAZIL”;

if (contains(a,b)) {

    // 내용

}

출처 : https://stackoverflow.com/questions/256460/nsstring-indexof-in-objective-c

아래처럼 포함관계를 판단해도 된다.

NSString* str1 = @”Hello World!”;

NSRange range1 = [str1 rangeOfString:@”World”];

NSUInteger foundLen = range1.length;

if ((int)foundLen > 0) {

    // 내용

}

포함관계를 판단하고 싶은게 아니라 정확한 위치를 얻고 싶다면(indexOf), 아래처럼 쓴다.

NSString* str1 = @”Hello World!”;

NSRange range1 = [str1 rangeOfString:@”World”];

NSUInteger idx = range1.location;

if ((int)idx > –1) {

    // 내용

}