獲得動態圖像的名字我有一個動態的字符串像動態字符串在java中
age/data/images/four_seasons1.jpg
從上面的字符串,我需要獨自一人的圖像名稱(即)four_seasons1.jpg
路徑和圖像將是一個動態的(任何圖像格式occure)
請讓我知道如何在Java中做到這一點?
在此先感謝
獲得動態圖像的名字我有一個動態的字符串像動態字符串在java中
age/data/images/four_seasons1.jpg
從上面的字符串,我需要獨自一人的圖像名稱(即)four_seasons1.jpg
路徑和圖像將是一個動態的(任何圖像格式occure)
請讓我知道如何在Java中做到這一點?
在此先感謝
你可以去正則表達式,但如果您發現該模式是固定的,一個很粗的解決方案可以是直接的方法
String url = "age/data/images/four_seasons1.jpg";
String imageName = url.substring(url.lastIndexOf("/")+1, url.length()) ;
使用File對象。
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.String API。你會做這種東西很多
您可以分析這個路徑。作爲分隔符,您必須採用'/'
符號。之後,你可以採取最後解析的元素。
String phrase = "age/data/images/four_seasons1.jpg";
String delims = "/";
String[] tokens = phrase.split(delims);
關於String.split你可以閱讀更多here。
String s = "age/data/images/four_seasons1.jpg";
String fileName = new String();
String[] arr = s.split("/");
fileName = arr[arr.length-1];
}
你真的需要這個for循環嗎? – besworland
@besworland如說由OP的路徑是動態的...所以會有人猜測它的ARR文件名的索引存在.... –
無需循環。你可以提取最後一個字符串。 – Shashwat
假設它不是來自比方說,一個''標籤的參考...(相反沒有證據的,這是沒有錯的;)) –
MadProgrammer
當然:-)中但是有很多人在工作路徑基於字符串的方式破壞了Java程序的平臺獨立性。 「/」與「\」 ... – ajuch
我同意,我想使用的概念'File'是一個很好的一個,它的簡單和乾淨。就個人而言,我會盡可能使用'File.separator'。 – MadProgrammer