2014-05-17 122 views
-4

我有一个文件名作为字符串,我想从中提取帐号。该字符串将看起来像下面..特定字符的子字符串

插孔16-05-2014-13-32-48_216043_PHOTO.jpg

的帐号将永远是单词“PHOTO”之前,它永远是要么5或6个字符的长度。在这个例子中,它是“216043”

总的字符串长度可能会有所不同,因为开头的名称可能不同。

有人可以分享什么是在Java中提取帐号的最佳方式。

谢谢。

+0

不,因为堆栈溢出不存在给你一个答案没有你做任何工作(但人们会这样做)无论如何 – awksp

+0

看看字符串API。有几种方法可以使用。也许lastIndexOf(...),substring(...)。也许分裂(...)。 – camickr

回答

1
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_只有将工作这种情况下,它不会是有用的,如果你的字符串已经强调了比这个地方其他。

+1

谢谢,这是我正在寻找的。 – AbuMariam