7

文字列の最後から2番目の区切り文字列を取得する簡単な方法はありますか?

String original = "/1/6/P_55/T_140";

この例では、結果の部分文字列は次のようになります。"P_55/T_140"

この部分文字列の先頭にあるスラッシュのインデックスを見つけたい(/

String.lastIndexOf()2回電話することが役立つことを私は知っています。しかし、一般的なよりクリーンなアプローチを探しています。おそらく任意のNに。

4

2 に答える 2

9

しかし、一般的なよりクリーンなアプローチを探しています。おそらく任意のNに。

ループでの呼び出しString.lastIndexOf(int,int)は非常に効率的で、間違いなくかなりクリーンです。

    int pos = str.length();
    for (int i = 0; i < n; i++) {
        pos = str.lastIndexOf('/', pos - 1);
    }
    String out = str.substring(pos + 1);

strこれは、、、、を取り、'/'n返すヘルパー関数に簡単に変換できますout

于 2012-05-28T14:10:16.690 に答える
1

メディアファイルが存在するフォルダ名を取得するには

/storage/emulated/0/WhatsApp/Media/WhatsApp Video / VID-20170812-WA0000.mp4

以下のコードを使用してください

String folderName = filePath.substring(filePath.lastIndexOf('/',filePath.lastIndexOf('/')-1),filePath.lastIndexOf('/'));

folderNameを「whatsAppVideo」として返します

于 2017-11-04T18:07:54.757 に答える