0

出力として URI (Uniform Resource Identifier) を生成する Java プロジェクトに取り組んでいます。URI の例は、www.myexample.com/rgd/543/mary です。

そのような URI の最後の部分を抽出する必要があります。これは、前の URI の mary です。

さまざまな形式の URI がある可能性があるため、スケーラブルなソリューションが必要ですが、常に「/」の後の最後の部分を取得する必要があります。

たとえば、http: //software.org/trg/poo/945/steve または http://www.amazon.com/rggf/0956/dfgh/rgf/kk/adamを使用できます。

前の URI から steve と adam をそれぞれ抽出する必要があります。

正規表現が機能する可能性があることは知っていますが、正規表現の経験はあまりありません。よろしくお願いします。

4

1 に答える 1

0

正規表現の代わりに、次のように、URI を表す文字列に対してメソッドsubstringとメソッドを使用できます。lastIndexOf

String[] data = { "http://software.org/trg/poo/945/steve",
        " http://www.amazon.com/rggf/0956/dfgh/rgf/kk/adam" };
for (String s:data)
    System.out.println(s.substring(s.lastIndexOf('/')+1));

//"http://software.org/trg/poo/945/steve
//                                ^
//                                lastIndexOf(`/`);
//                                
// but we don't want to return "/steve" but "steve" 
// so lets subtract string from index of last `/`
// increased by one 

出力:

steve
adam
于 2012-11-16T16:05:19.253 に答える