私は次のような動的な文字列を持っています
age/data/images/four_seasons1.jpg
上記の文字列から、画像名だけを取得する必要があります(つまり)four_seasons1.jpg
パスと画像は動的なものになります(任意の画像形式が発生します)
Javaでこれを行う方法を教えてください。
前もって感謝します
私は次のような動的な文字列を持っています
age/data/images/four_seasons1.jpg
上記の文字列から、画像名だけを取得する必要があります(つまり)four_seasons1.jpg
パスと画像は動的なものになります(任意の画像形式が発生します)
Javaでこれを行う方法を教えてください。
前もって感謝します
ファイルオブジェクトを使用します。
new File("/path/to/file").getName()
String.split()を使用することもできます。
"/path/to/file/sdf.png".split("/")
これにより、最後の要素を選択する配列が得られます。ただし、ファイルオブジェクトの方が適しています。
String text = "age/data/images/four_seasons1.jpg";
String name = text.substring(text.lastIndexOf("/") + 1);
String path = text.substring(0, text.lastIndexOf("/"));
System.out.println(name);
System.out.println(path);
出力
four_seasons1.jpg
age/data/images
時間をかけて、 java.lang.StringAPIに慣れてください。あなたはこの種のことをたくさんするでしょう
正規表現を使用することもできますが、パターンが修正されていることがわかった場合は、非常に大雑把な解決策が簡単なアプローチになります。
String url = "age/data/images/four_seasons1.jpg";
String imageName = url.substring(url.lastIndexOf( "/" )+1, url.length()) ;
このパスを解析できます。区切り文字として、記号を取る必要があります'/'
。その後、最後に解析された要素を取得できます。
String phrase = "age/data/images/four_seasons1.jpg";
String delims = "/";
String[] tokens = phrase.split(delims);
String.splitについては、こちらで詳細を読むことができます。
String s = "age/data/images/four_seasons1.jpg";
String fileName = new String();
String[] arr = s.split("/");
fileName = arr[arr.length-1];
}