私の目標は、大文字の間の大文字の間のスペースを大文字の書式付き文字列に導入することです。例: ThisIsATest - >これはテストです。regexで置き換えられた参照文字
現在、私は、このタスクを解決するためにString.replaceAll(正規表現、交換)を使用する方法もある場合、私は疑問に思って
public static String addSpacesBetweenCapitalLetters(String input) {
StringBuilder sb = new StringBuilder();
for(char c : input.toCharArray()) {
sb.append(Character.isUpperCase(c) ? " "+c : c);
}
if(sb.codePointAt(0)==new Character(' ')) {
sb.deleteCharAt(0);
}
return sb.toString();
}
この関数を呼び出すことによってこれを行います。キャッチャーは簡単にregexを使って見つけることができます。置き換えられた文字を次のコードと同様に参照できますか?
input.replaceAll("[A-Z]"," "+&foundChar);
を大文字を持っていると主張して先読み。正規表現を使用するアルゴリズムを使用する場合は、解決すべき2つの問題があります。 – TinkerTenorSoftwareGuy
オリジナルのプログラムは理解して維持しやすいです。正規表現の解決法(答えを参照)は、それが何をしているかを見つけるために集中的な研究を必要とします。 – Henry
@Henryこの問題については、それは簡単かもしれませんが、将来の可能なタスクが可能かどうかを知りたいと思います。私は正規表現を使用しなければならない場合、私は決して興奮することはありませんが、たぶんそれは便利な場合があります – John