0

文字列からドメイン名を抽出する最良の方法は何ですか?

例えば。xyz.com/path1/path2/path3/somefile.txt

プロトコルがないので使えませんjava.net.URL

私が考えることができる唯一のオプションは、最初のスラッシュまで読むことです。

4

3 に答える 3

4

その文字列にプレフィックスhttp://を付けてオブジェクトを構築し、メソッドURLを使用してホスト名を抽出するだけです。getHost()

String urlString = "xyz.com/path1/path2/path3/somefile.txt";
URL url = new URL("https://" + urlString);
System.out.println(url.getHost());
于 2013-02-19T06:53:52.487 に答える
3

余分なスラッシュを追加するための http:// が存在しないと仮定すると、次のようにすることができます。

String domain = urlString.substring(0, urlString.indexOf("/"));

これにより、最初のスラッシュまでの部分文字列が得られます。

編集:指摘されているように、スラッシュがない場合、これは失敗します。次のように修正できます。

int index = urlString.indexOf("/");
if(index >= 0) String domain = urlString.substring(0, index);

ただし、入力にスラッシュがない場合は、Quoi のソリューションを使用した方がよいでしょう。

于 2013-02-19T06:56:27.550 に答える
1

String#splitregx - ' /'で使用できます

String[] split = str.split("/");
System.out.println(split[0]);
于 2013-02-19T06:57:03.867 に答える