我正在尝试使用JAVA从字符串中获取URL
我正在尝试使用JAVA从字符串中获取URL。但是我的变量在“Uri.parse”部分不起作用(变量中没有值)。请考虑我是初学者的编码< /p> 错误是:“无法为最终变量'result'赋值” 我的代码:我正在尝试使用JAVA从字符串中获取URL,java,android,variables,Java,Android,Variables,我正在尝试使用JAVA从字符串中获取URL。但是我的变量在“Uri.parse”部分不起作用(变量中没有值)。请考虑我是初学者的编码< /p> 错误是:“无法为最终变量'result'赋值” 我的代码: showResultDialogue(result.getContents()); 既然您没有提供它为什么不起作用的信息,我就假设URL缺少http,因为您的regex与此不匹配,在这种情况下,我会这样做 编辑:你真的需要你的正则表达式吗?Android有一种内置的URL匹配方式 你可以在这
showResultDialogue(result.getContents());
既然您没有提供它为什么不起作用的信息,我就假设URL缺少
http
,因为您的regex与此不匹配,在这种情况下,我会这样做
编辑:你真的需要你的正则表达式吗?Android有一种内置的URL匹配方式
你可以在这里找到文件
Patterns.WEB_URL.matcher(result.matches()代码>
所以你的代码应该是这样的
if (Patterns.WEB_URL.matcher(result).matches()) {
builder.setPositiveButton("Go", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent browserIntent = new Intent(
Intent.ACTION_VIEW,
Uri.parse(!result.startsWith("http://") && !result.startsWith("https://") ? "http://" + result : result)
);
startActivity(browserIntent);
}
});
}
什么是stacktrace错误?@SamzSakerz“结果”变量中没有任何内容如果有问题,您可以用错误日志编辑您的问题吗?并将您在结果中输入的内容发送给我。@SamzSakerz输入是“globalist.in/somthing.html”。正则表达式匹配成功,但未在browserI中打开url。请尝试我的建议,看看是否有效。输入为“globalist.in/somthing.html”。正则表达式匹配成功,但未在Browser中打开url无效。错误为:“无法为最终变量'result'赋值”
if (Patterns.WEB_URL.matcher(result).matches()) {
builder.setPositiveButton("Go", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent browserIntent = new Intent(
Intent.ACTION_VIEW,
Uri.parse(!result.startsWith("http://") && !result.startsWith("https://") ? "http://" + result : result)
);
startActivity(browserIntent);
}
});
}