查找字符串的特定部分

时间:2012-05-28 16:33:11

标签: java regex

我有一个字符串,我希望得到一个特定部分来保存。

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

我想获得“hj10134532”部分。我将如何提取字符串的那部分?

非常感谢任何帮助。

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

你也可以这样做:

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

答案 2 :(得分:0)

如果以下是固定格式

sometext_requiredText.html.xls

然后你可以通过以下方式来实现

  1. _
  2. 拆分字符串
  3. 取第二部分(即str.split("_")[1]检查结果数组的长度)
  4. 使用.
  5. 查找第一次出现的indexOf()
  6. 使用substring(int, int)

答案 3 :(得分:0)

实际上,这比你们三个发布的方式简单得多。

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

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

答案 4 :(得分:-1)

检查:

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

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