たとえば、「eyes-of-tiger」を eyesOfTiger に置き換えたいのですが、正確な解決策がわかりません。
「-」を大文字に置き換えるには?
public class Test {
public static void main(String[] args) {
String input = "eye-of-tiger";
String modified = dashToUpperCase(input);
System.out.println(modified);
}
private static String dashToUpperCase(String input) {
StringBuilder result = new StringBuilder();
boolean toUpper = false;
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (c == '-') {
toUpper = true;
} else {
result.append(toUpper ? Character.toUpperCase(c) : c);
toUpper = false;
}
}
return result.toString();
}
}
一般的な解決策としてこれを試してください:
String[] split = s.split("-");
for(int i = 0; i < split.length; i++){
split[i] = split[i].substring(0, 1).toUpperCase() + split[i].substring(1).toLowerCase();
}
StringBuilder builder = new StringBuilder();
for(String string : split) {
builder.append(string);
}
これを試して:
String s = "eyes-of-tiger";
StringBuilder newString = new StringBuilder();
String[] arr = s.split("-");
boolean first = true;
for (String str : arr) {
if (first) {
newString.append(str);
first = false;
continue;
}
newString.append((str.substring(0,1).toUpperCase()) + str.substring(1));
}
String result = newString.toString();