Java 如何在字符第三次出现时拆分字符串?[安卓]

Java 如何在字符第三次出现时拆分字符串?[安卓],java,android,string,rss,Java,Android,String,Rss,我有两个单独的字符串,它们将从RSS提要获取。这些是我的getLink()值 字符串1类似于: 字符串2类似于: 我只想在我的ListView上显示: www.example.in www.example.com 那么,如何拆分字符串,使其在第三次出现“/”时结束 请帮助。谢谢。您的方法还可以,但效率不高,因为搜索条件太复杂了 使用java.net中的URL类,您需要的实际上是主机 例子: 输出将是: host=www.example.in 主机=www.example.com 试试这个代码 S

我有两个单独的字符串,它们将从RSS提要获取。这些是我的getLink()值

字符串1类似于:

字符串2类似于:

我只想在我的ListView上显示:

www.example.in

www.example.com

那么,如何拆分字符串,使其在第三次出现“/”时结束


请帮助。谢谢。

您的方法还可以,但效率不高,因为搜索条件太复杂了

使用java.net中的URL类,您需要的实际上是主机

例子: 输出将是:

host=www.example.in

主机=www.example.com

试试这个代码

String kek = "http://www.example.com/somthing/source2.rss";
String ohh = kek.substring(7, kek.length());
String my = ohh.substring(0, ohh.indexOf("/"));
Log.e("test", my);
这里将显示输出

www.example.com

更新

有效的方法

String u = "http://www.example.com/somthing/source2.rss";
URL url = null;
try {
    url = new URL(u);
    String host = url.getHost();
    Log.e("test", host);
} catch (MalformedURLException e) {
    e.printStackTrace();
}

这很简单,也会起作用

    String str="http://www.example.in/something/source.rss";
    int init=-1;
    for(int i=0;i<3;i++){
        init=str.indexOf("/",init+1);
    }
    System.out.println(str.substring(0,init));
String str=”http://www.example.in/something/source.rss";
int init=-1;

对于(inti=0;ii)在该代码中,我们从主字符串中获取子字符串。首先我们删除了“http://”,然后删除了在第一个索引“/”之后出现的字符串。创建新的URL对象实际上效率要低得多
    String str="http://www.example.in/something/source.rss";
    int init=-1;
    for(int i=0;i<3;i++){
        init=str.indexOf("/",init+1);
    }
    System.out.println(str.substring(0,init));