2011-10-18 6 views
0

私は複数の文字列urlを持っています。これからIDの本質である最後の数文字を選びます。しかし、問題は、idの長さが一貫していない、すなわち、一方のidが長さ6の場合、他方の長さが5または4であるなどである。サンプルURLが似ている:文字列から長さの異なる最後の数文字を取得する方法..?

String abc = "www.abc.com/xyz-123456"; 
String id = abc.substring(abc.length()-6); 

をしかし、今のシナリオは次のとおりです。

www.abc.com/xyz-123456 
www.abc.com/pqr-5432 
www.abc.com/lmn/opqr-25647 

特定のID部分の長さが同じであったであろう場合、それは非常に簡単だったかもしれない、私が使用している可能性が選択されたURLのid部分の長さとは異なります。常に同じではありません。何か助けていただければ幸いです。

答えて

5

はあなたの位置を見つけるようになるStringオブジェクトのlastIndexOf方法があります。そこから部分文字列を行うことができます。

+0

@Pimastar、感謝の男、uが確かに地獄の私を引っ張ってきた...:P –

+0

それが答えだ場合あなたは後になった、あなたはそれを受け入れる必要があります。 – pimaster

+0

はい!確かに、私は試していたが、私は数分で答えることができるというメッセージを得ている。だから時間がたつにつれ、私はそれを受け入れるでしょう:-) –

0

正規表現を使用して、-までのすべての文字を削除します。 「 - 」(私はあなたの区切りであることそれを取る)

String id = url.replaceAll("^.*-",""); 

または

String id = url.replaceAll("^.*-(\\w+)$","$1"); 
0

LastIndexOfを使用するか、正規表現を作成できます。

2

このようなものを使用できます。

String id=abc.subString(abc.lastIndexOf('\'),abc.length()-1); 

ご希望の場合はお手数ですが、 :)

url1splitで見つけることができますあなたが探している
1
String url1 = "www.abc.com/xyz-123456"; 
String[] url1Split = url1.split("-"); 

[1]

関連する問題