0

私は次のような動的な文字列を持っています

age/data/images/four_seasons1.jpg

上記の文字列から、画像名だけを取得する必要があります(つまり)four_seasons1.jpg

パスと画像は動的なものになります(任意の画像形式が発生します)

Javaでこれを行う方法を教えてください。

前もって感謝します

4

5 に答える 5

4

ファイルオブジェクトを使用します。

new File("/path/to/file").getName()

String.split()を使用することもできます。

"/path/to/file/sdf.png".split("/")

これにより、最後の要素を選択する配列が得られます。ただし、ファイルオブジェクトの方が適しています。

于 2012-10-05T06:31:21.863 に答える
1
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に慣れてください。あなたはこの種のことをたくさんするでしょう

于 2012-10-05T06:31:40.670 に答える
0

正規表現を使用することもできますが、パターンが修正されていることがわかった場合は、非常に大雑把な解決策が簡単なアプローチになります。

    String url = "age/data/images/four_seasons1.jpg";

    String imageName = url.substring(url.lastIndexOf( "/" )+1, url.length()) ;
于 2012-10-05T06:32:13.603 に答える
0

このパスを解析できます。区切り文字として、記号を取る必要があります'/'。その後、最後に解析された要素を取得できます。

String phrase = "age/data/images/four_seasons1.jpg";
String delims = "/";
String[] tokens = phrase.split(delims);

String.splitについては、こちらで詳細を読むことができます。

于 2012-10-05T06:33:56.520 に答える
0
String s = "age/data/images/four_seasons1.jpg";

String fileName = new String();

String[] arr = s.split("/");

fileName = arr[arr.length-1];

}
于 2012-10-05T06:35:05.660 に答える