文字列があり、その特定のセクションを保存するために探しています。
Assets / Topics / Update / filename_hj10134532.html.xls
「hj10134532」セクションを取得したい。文字列のその部分を抽出するにはどうすればよいですか?
どんな助けでも大歓迎です。
String s="Assets/Topics/Update/filename_hj10134532.html.xls";
System.out.println(s.split("\\.")[0].split("_")[1]);
//out hj10134532
次のこともできます。
String input = "Assets/Topics/Update/filename_hj10134532.html.xls";
String part = input.substring(input.lastIndexOf("_") + 1, input.indexOf("."));
以下が固定フォーマットの場合
sometext_requiredText.html.xls
その後、あなたは次の方法でそれを行うことができます
_
str.split("_")[1]
、結果の配列の長さを確認します).
使用の最初の発生を見つけるindexOf()
substring(int, int)
実際、3人が投稿したものよりもはるかに簡単な方法があります。
String s="Assets/Topics/Update/filename_hj10134532.html.xls";
return s.substring(s.indexOf("_"),s.indexOf("."));
はるかに読みやすく、文字列の分割は必要ありません。
小切手:
String pat = "hj10134532";
if ("Assets/Topics/Update/filename_hj10134532.html.xls".contains (pat))
return pat;
("hj10134532")が含まれている場合は、それを返します。抽出する必要はありません。