文字列の最後から2番目の区切り文字列を取得する簡単な方法はありますか?
String original = "/1/6/P_55/T_140";
この例では、結果の部分文字列は次のようになります。"P_55/T_140"
この部分文字列の先頭にあるスラッシュのインデックスを見つけたい(/
)
String.lastIndexOf()
2回電話することが役立つことを私は知っています。しかし、一般的なよりクリーンなアプローチを探しています。おそらく任意のNに。
しかし、一般的なよりクリーンなアプローチを探しています。おそらく任意の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
。
メディアファイルが存在するフォルダ名を取得するには
/storage/emulated/0/WhatsApp/Media/WhatsApp Video / VID-20170812-WA0000.mp4
以下のコードを使用してください
String folderName = filePath.substring(filePath.lastIndexOf('/',filePath.lastIndexOf('/')-1),filePath.lastIndexOf('/'));
folderNameを「whatsAppVideo」として返します