0

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 を使わないようにしています。誰か助けてくれませんか?

4

1 に答える 1

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];
}

このコードでは、最初に正規表現に一致する文字列の範囲を取得します。次に、その範囲から部分文字列を取得しています

于 2015-01-15T08:49:20.433 に答える