-4
我有一个文件名作为字符串,我想从中提取帐号。该字符串将看起来像下面..特定字符的子字符串
插孔16-05-2014-13-32-48_216043_PHOTO.jpg
的帐号将永远是单词“PHOTO”之前,它永远是要么5或6个字符的长度。在这个例子中,它是“216043”
总的字符串长度可能会有所不同,因为开头的名称可能不同。
有人可以分享什么是在Java中提取帐号的最佳方式。
谢谢。
我有一个文件名作为字符串,我想从中提取帐号。该字符串将看起来像下面..特定字符的子字符串
插孔16-05-2014-13-32-48_216043_PHOTO.jpg
的帐号将永远是单词“PHOTO”之前,它永远是要么5或6个字符的长度。在这个例子中,它是“216043”
总的字符串长度可能会有所不同,因为开头的名称可能不同。
有人可以分享什么是在Java中提取帐号的最佳方式。
谢谢。
jack-16-05-2014-13-32-48_216043_PHOTO.jpg
^^
Start End
试试这个。
String s="jack-16-05-2014-13-32-48_216043_PHOTO.jpg";
System.out.println(s.substring(s.indexOf("_")+1,s.lastIndexOf("_")));
输出
216043
注:由于它只能得到数beetween _TwoUnderscores_只有将工作这种情况下,它不会是有用的,如果你的字符串已经强调了比这个地方其他。
谢谢,这是我正在寻找的。 – AbuMariam
不,因为堆栈溢出不存在给你一个答案没有你做任何工作(但人们会这样做)无论如何 – awksp
看看字符串API。有几种方法可以使用。也许lastIndexOf(...),substring(...)。也许分裂(...)。 – camickr