365連休

にわかのandroidとかの開発メモ。

【Java】getSubsequentOfLastIndexメソッドでファイル名から拡張子を取得する

そんなメソッドたぶん無いです。見つからないので作りました。

便利なものは得てしてシンプルです。

自己責任でご自由にお持ち帰りください。タダです。

 

static String getSubsequentOfLastIndex(@NonNull String target, @NonNull String delimiter)

target:対象の文字列。

delimiter:検索する文字列。

return:対象の文字列でdelimiterが最後に現れる位置から後ろの文字列を返す。

 

    /**
     * 最後のdelimiter以降の文字列を取得<p/>
     * <pre>
     * getSubsequentOfLastIndex("http://www.sec.top/hoge.html", "."); //→ "html"
     * getSubsequentOfLastIndex("http://www.sec.top/hoge.html", "/"); //→ "hoge.html"
     * getSubsequentOfLastIndex("http://www.sec.top/hoge.html", "www.sec.top/"); //→ "hoge.html"
     * </pre>
     */
    public static String getSubsequentOfLastIndex(@NonNull String target, @NonNull String delimiter) {
        final int i = target.lastIndexOf(delimiter);
        if(i!=-1){
            return target.substring(i+delimiter.length());
        }else{
            return target;
        }
    }

 

メソッド名は英語翻訳しつつ決めましたが英語的に変かもしれないので、適切なものに変えてください。じゃないと、あなたが恥をかくかもしれません。

ろくに単体テストもせずに書いてるので、そこは使う人がちゃんとしてください。

この手の短いコードって誰でも思いつくし誰が実装してもほとんど同じだから著作権とか特許とか発生しなくてパクるのも安心。