NSString
에있는 [URL]
을 찾아서 교체하려고합니다.[] 대괄호를 NSString으로 바꾸시겠습니까?
NSString *test = @"Test [URL] 123";
test = [test stringByReplacingOccurrencesOfString:@"[URL]"
withString:@"HERE"
options:NSRegularExpressionSearch
range:NSMakeRange(0, test.length)];
이의 결과는 Test [HEREHEREHERE] 123
입니다 : 이것은 나의 접근 방식입니다. [URL]
은 3 문자 중 하나를 의미하므로 3 문자가 차례로 HERE
으로 바뀌므로 그럴 것 같습니다.
그러나 나는 또한 \[URL\]
과 같은 결과를 보았습니다.
그럼 실제로 문자 [
과 ]
을 어떻게 검색합니까? 대괄호는 정규 표현식 언어의 메타 문자, 그래서 그들은 해석받을 :
는 당신이 더 문제를 정의 할 수
@"\\[URL\\]"
: 그들은 목표 - C와 정규 표현식 언어 모두에서 특수 문자이기 때문에당신은 당신의 슬래시 - 탈출을 두 번해야합니까? 문자 그대로'@ "[URL]"'문자열을 바꾸려면 왜 정규 표현식을 사용하고 있습니까? –
왜냐하면 나중에'[URL = http : /some.url.com]'과 같을 것이기 때문입니다. – DrummerB
좋아, 그러면 일치하려는 대상을 완전히 정의 할 수 있습니까? 정규식을 작성할 때 문제를 올바르게 정의해야하거나 작동하지 않는 엣지 케이스가있을 수 있습니다. –