从Java字符串中获取特定单词

时间:2018-12-16 14:45:47

标签: java regex string substring

如果我具有以下网址:

http://www.example.com/wordpress/plugins/wordpressplugin/123/ver=1.0

如何获取插件的名称(URL中简称为wordpressplugin)和版本,以便输出为-wordpressplugin 1.0版?

5 个答案:

答案 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.
    }

希望这对您有帮助。.快乐的编码!