次の問題に正規表現を使用したいと思います。
SOME_RANDOM_TEXT
次のように変換する必要があります。
someRandomText
したがって、_(任意の文字)は大文字の文字だけに置き換える必要があります。私はツールを使用して、そのようなものを見つけました:
_\w and $&
置換から2番目の文字だけを取得する方法は?? 何かアドバイス?ありがとう。
String.split("_")
コレクション内の各文字列の最初の文字を大文字にして、単純に再結合する方が簡単な場合があります。
Apache Commonsには、 join()メソッドなど、文字列に関連する便利な機能がたくさんあることに注意してください。
問題は、小文字から大文字への大文字小文字の変換がJava.util.regex.Patternでサポートされていない ことです。これは、ブライアンが提案したように、プログラムで変換を行う必要があることを意味します。このスレッドも参照してください
これを行うための簡単なメソッドを作成することもできます。より複雑ですが、より最適化されています:
public static String toCamelCase(String value) {
value = value.toLowerCase();
byte[] source = value.getBytes();
int maxLen = source.length;
byte[] target = new byte[maxLen];
int targetIndex = 0;
for (int sourceIndex = 0; sourceIndex < maxLen; sourceIndex++) {
byte c = source[sourceIndex];
if (c == '_') {
if (sourceIndex < maxLen - 1)
source[sourceIndex + 1] = (byte) Character.toUpperCase(source[sourceIndex + 1]);
continue;
}
target[targetIndex++] = source[sourceIndex];
}
return new String(target, 0, targetIndex);
}
私はApacheCommonsライブラリが好きですが、それがどのように機能するかを知っていて、このようなジョブ用の特定のコードを記述できると便利な場合があります。