2012-05-28 202 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(".")); 

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