我正在尝试使用NSRegularExpression从NSString获取子字符串。 我不想要匹配的数量或者替换字符串,我想要匹配正则表达式的字符串
NSString *string = <a>www.apple.com</a>
NSError *error;
[NSRegularExpression regularExpressionWithPattern:@"(\b(https?|ftp|file)://)?[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *substring;
我正在寻找的是:
substring = www.apple.com;
我正在尝试使用尽可能少的NSRange / NSMakeRange。有人可以帮帮我吗?
答案 0 :(得分:0)
NSRange *range = [string rangeOfString:@"(\b(https?|ftp|file)://)?[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]" options:NSRegularExpressionSearch];
if(range.location!=NSNotFound) {
NSString *neededSubString = [String SubStringWithRange:range];
}
在这段代码中,我们首先得到与正则表达式匹配的字符串的范围。然后我们从该范围获得子串