如果我具有以下网址:
http://www.example.com/wordpress/plugins/wordpressplugin/123/ver=1.0
如何获取插件的名称(URL中简称为wordpressplugin
)和版本,以便输出为-wordpressplugin 1.0版?
答案 0 :(得分:1)
我将我的评论作为答案
String s = "http://www.example.com/wordpress/plugins/wordpressplugin/123/ver=1.0";
String[] ary = s.split("/");
System.out.println(ary[5] + " " + ary[7]);
最简单的方法可以解决您的问题, 您必须使用正则表达式进行更多动态搜索。
答案 1 :(得分:1)
使用Java中的Regex支持,您可以这样做。
String url = "http://www.example.com/wordpress/plugins/wordpressplugin/123/ver=1.0";
Pattern pattern = Pattern.compile("(.*plugins/)(.*)(/\\d{3}/)(ver.*)");
Matcher matcher = pattern.matcher(url);
if (matcher.matches()) {
System.out.println("Plugin: " + matcher.group(2));
System.out.println("Version: " + matcher.group(4));
}
注意捕获组的使用。这是输出。
Plugin: wordpressplugin
Version: ver=1.0
答案 2 :(得分:0)
您应该查看Regular Expressions (in Oracle tutorials),这是任何编程语言中的通用工具,用于从较大的字符串(遵循某种或多或少的固定格式)中获取/匹配子字符串。
答案 3 :(得分:0)
因为您声称是JAVA的新手,所以这是一个非常简单的答案,应该适合您的技能
String url = "http://www.example.com/wordpress/plugins/wordpressplugin/123/ver=1.0";
String search = "plugins/";
int index = url.indexOf(search);
String pluginName, version;
if (index > -1)
{
index += search.length;
pluginName = url.substring(index, url.indexOf("/",index + 1));
search = "ver=";
index = url.indexOf(search);
if (index > -1)
{
version = url.substring(index + search.length);
System.out.prinln(pluginName + " " + version);
}
}
答案 4 :(得分:0)
PS:只有在您的网址格式始终保持不变的情况下,此方法才有效!
解决此问题的最快方法是利用Strings的split方法。只需仔细研究以下方法,这是基本的方法。
public String getVersionNumber(String url){
String[] arr0 = url.split("//");
//The code above returns an array of two strings: "http:" and "www.example.com/wordpress/plugins/wordpressplugin/123/ver=1.0"
String[] arr1 = arr0[1].split("/");
//The code above returns an array of six strings: "www.example.com", "wordpress", "plugins", "wordpressplugin", "123" and "ver=1.0".
return String.format("%s %s", arr1[3], arr1[5]);
//OUTPUT: wordpressplugin ver=1.0
//I simply returned what I needed.
}
希望这对您有帮助。.快乐的编码!