.
次のように、ドット ( )で区切られた多くのセグメントを持つ文字列があります。
コード.FIFA.buf.OT.1207.2206.idu
のように、2 番目のドットまでのみ部分文字列を取得したいcodes.FIFA
。
2番目のドットまで部分文字列を作成する方法は?
最初のドットを見つけて、そこから 2 番目のドットを見つけます。
String input = "codes.FIFA.buf.OT.1207.2206.idu";
int dot1 = input.indexOf(".");
int dot2 = input.indexOf(".", dot1 + 1);
String substr = input.substring(0, dot2);
もちろん、ドットが見つからない場合は、そこにエラー チェックを追加することもできます。
このような何かがトリックを行います:
String[] yourArray = yourDotString.split(".");
String firstTwoSubstrings = yourArray[0] + "." + yourArray[1];
変数 firstTwoSubstrings には、2 番目の "." より前のすべてが含まれます。"." が 2 つ未満の場合、例外が発生することに注意してください。あなたの文字列で。
お役に立てれば!
これは最も簡単な解決策のようです:
String[] split = "codes.FIFA.buf.OT.1207.2206.idu".split("\\.");
System.out.println(split[0] + "." + split[1]);
Matcher m = Pattern.compile("^(.*?[.].*?)[.].*")
.matcher("codes.FIFA.buf.OT.1207.2206.idu");
if (m.matches()) {
return m.group(1);
}
これを 3 つの部分に分割し、最初の 2 つを再び結合します。
String[] parts = string.split("\\.", 3);
String front = parts[0]+"."+parts[1];
String back = parts[2];
ドットが 2 つ未満であったり、ドットで始まったりする場合は、エラー チェックが必要になる場合があります。