4より多くのオカレンスがない場合、最初のオカレンスをスキップしたいと思います。今のところ、最大5つのアンダースコアが発生します。出力A_B、C、D、E、Fを生成する必要があり、以下のコードを使用しました。私はより良い解決策が欲しい。確認してお知らせください。前もって感謝します。最初の出現をスキップして文字列をJavaで分割する
String key = "A_B_C_D_E_F";
int occurance = StringUtils.countOccurrencesOf(key, "_");
System.out.println(occurance);
String[] keyValues = null;
if(occurance == 5){
key = key.replaceFirst("_", "-");
keyValues = StringUtils.tokenizeToStringArray(key, "_");
keyValues[0] = replaceOnce(keyValues[0], "-", "_");
}else{
keyValues = StringUtils.tokenizeToStringArray(key, "_");
}
for(String keyValue : keyValues){
System.out.println(keyValue);
}
これは既に彼が働いている場合、これはコードレビューに属している可能性があります。あなたのスタックはあふれていません。 –
[このデモ](https://ideone.com/2W3PHE)をご覧ください。私はなぜそれが動作するのか分からない。 –
こんにちはWiktor、あなたのポストに感謝します。それは私の必要性を満たすでしょう。私はそれがどのように働くかを確認し理解する。 – Abdul