2012-05-28 145 views
0

我有一个字符串,我正在寻找它的一个特定部分来保存。查找字符串的特定部分

资产/主题/更新/ filename_hj10134532.html.xls

我想要得到的 “hj10134532” 一节。我将如何去提取字符串的那部分?

任何帮助,非常感谢。

+0

你举了一个例子,但不是规则是什么构成的模式。使用的字符? HJ [0-9] *? _和。之间的东西?只有.html之前? .html.xls? –

回答

2
String s="Assets/Topics/Update/filename_hj10134532.html.xls"; 
System.out.println(s.split("\\.")[0].split("_")[1]); 
//out hj10134532 
0

如果下面是固定格式

sometext_requiredText.html.xls 

,那么你可以通过以下方式

  1. 斯普利特_
  2. 字符串在第二个部分(即str.split("_")[1]检查结果的长度做array)
  3. 找到的第一个出现.使用indexOf()
  4. 使用substring(int, int)
-1

检查:

String pat = "hj10134532"; 
if ("Assets/Topics/Update/filename_hj10134532.html.xls".contains (pat)) 
    return pat; 

如果它包含( “hj10134532”),返回它。没有必要提取它。

1

你也可以这样做:

String input = "Assets/Topics/Update/filename_hj10134532.html.xls"; 
String part = input.substring(input.lastIndexOf("_") + 1, input.indexOf(".")); 
+0

@Pshemo:哎呀!错过了解你的评论。修复。谢谢。 –

0

其实,有一个比你三个已经张贴什么更简单的方式。

String s="Assets/Topics/Update/filename_hj10134532.html.xls"; 
    return s.substring(s.indexOf("_"),s.indexOf(".")); 

更具可读性,且不需要字符串拆分。