我有一个字符串,我正在寻找它的一个特定部分来保存。查找字符串的特定部分
资产/主题/更新/ 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? –