我有一個字符串,我正在尋找它的一個特定部分來保存。查找字符串的特定部分
資產/主題/更新/ filename_hj10134532.html.xls
我想要得到的 「hj10134532」 一節。我將如何去提取字符串的那部分?
任何幫助,非常感謝。
我有一個字符串,我正在尋找它的一個特定部分來保存。查找字符串的特定部分
資產/主題/更新/ filename_hj10134532.html.xls
我想要得到的 「hj10134532」 一節。我將如何去提取字符串的那部分?
任何幫助,非常感謝。
String s="Assets/Topics/Update/filename_hj10134532.html.xls";
System.out.println(s.split("\\.")[0].split("_")[1]);
//out hj10134532
如果下面是固定格式
sometext_requiredText.html.xls
,那麼你可以通過以下方式
_
str.split("_")[1]
檢查結果的長度做array).
使用indexOf()
substring(int, int)
檢查:
String pat = "hj10134532";
if ("Assets/Topics/Update/filename_hj10134532.html.xls".contains (pat))
return pat;
如果它包含( 「hj10134532」),返回它。沒有必要提取它。
你也可以這樣做:
String input = "Assets/Topics/Update/filename_hj10134532.html.xls";
String part = input.substring(input.lastIndexOf("_") + 1, input.indexOf("."));
@Pshemo:哎呀!錯過了解你的評論。修復。謝謝。 –
其實,有一個比你三個已經張貼什麼更簡單的方式。
String s="Assets/Topics/Update/filename_hj10134532.html.xls";
return s.substring(s.indexOf("_"),s.indexOf("."));
更具可讀性,且不需要字符串拆分。
你舉了一個例子,但不是規則是什麼構成的模式。使用的字符? HJ [0-9] *? _和。之間的東西?只有.html之前? .html.xls? –