SPXXX-SPYYY.zipString
の形式を常に固定しています。
からXXXとYYYを抽出する必要がありますString
が、たとえばXXXが 003の場合、 003ではなく3が必要です。( YYYも同様)。
私はこれらの2つのコードを書きました:
1.
String st = "SP003-SP012.zip";
String[] splitted = st.split("\\.");
splitted = splitted[0].split("-");
splitted = splitted[0].split("P");
Integer in = new Integer(splitted[1]);
System.out.println(in); //Will print 3
//The same for the other part of the String
2.
Pattern pattern = Pattern.compile("^[a-zA-Z]+([0-9]+).*");
Matcher matcher = pattern.matcher(st);
int num = 0;
while (matcher.find()) {
num = Integer.parseInt(matcher.group(1));
System.out.println(num);
}
- 2 番目のコードが最初の数値のみを返すのはなぜですか? ( XXX ) 2 番目を逃しますか?
- この目的にはどのコードが適していますか?