-3

Android アプリケーションを開発しており、EditText 内のリンクを認識したいと考えています。Objective-C で動作する次のコードがあり、それを Java で実行したいと考えています。私はそれがベクトル(文字列リンク[])で行われると思いますが、わかりません。

NSError *qwerror = nil;
NSRegularExpression *qwregex = [NSRegularExpression regularExpressionWithPattern:@"(http://\\w+.\\w+.\\w+.\\w+.\\w+.)" options:0 error:&qwerror];
NSArray *qwmatches = [qwregex matchesInString:textView.text options:0 range:NSMakeRange(0, textView.text.length)];
NSMutableArray *qwwords = [NSMutableArray array];
for (NSTextCheckingResult *qwmatch in qwmatches) {
    NSRange qwwordrange = [qwmatch rangeAtIndex:1];
    NSString *qwword = [textView.text substringWithRange:qwwordrange];
    [qwwords addObject:qwword];
}
NSString *allLinks = [qwwords componentsJoinedByString:@" "];
4

1 に答える 1

0

これはうまくいくかもしれません:

import java.net.URL;
import java.util.List;

String input = /* text from edit text */;

String[] words = input.split("\\s");
List<URL> urls;

for (String s : words)
{
    try 
    {
        urls.add(new URL(s));
    }
    catch (MalformedURLException e)
    {
        // not a url
    }
}

// urls contains all urls from 'input'.
于 2012-05-12T19:03:55.343 に答える