我想更改使用下劃線作爲字每一個詞,沒有下劃線,但以一個大寫Java全部替換:如何在下劃線後改變每個字母?
例子:new_york - >紐約
到目前爲止我的解決辦法是寫的每一封信一條線,這是不非常高效:
mySolution = mySolution.replaceAll("_a", "A");
編輯:這個問題是關於在一行中使用ReplaceAll,因此與其他問題無關。我可以管理編寫一個「長」程序,但我想大多數用戶會很樂意爲這個問題得到實際的答案。
我想更改使用下劃線作爲字每一個詞,沒有下劃線,但以一個大寫Java全部替換:如何在下劃線後改變每個字母?
例子:new_york - >紐約
到目前爲止我的解決辦法是寫的每一封信一條線,這是不非常高效:
mySolution = mySolution.replaceAll("_a", "A");
編輯:這個問題是關於在一行中使用ReplaceAll,因此與其他問題無關。我可以管理編寫一個「長」程序,但我想大多數用戶會很樂意爲這個問題得到實際的答案。
public class HelloWorld {
public static void main(String[] args) {
System.out.println(convert("Hello W_o_rld_"));
}
static String convert(String s) {
StringBuilder sc = new StringBuilder();
for (int i = 0; i < s.length() - 1; i++) { //to avoid _ at last index
if (s.charAt(i) == '_') {
sc.append((Character.toUpperCase(s.charAt(i + 1))));
i++;
} else {
sc.append(s.charAt(i));
}
}
return sc.toString();
}
}
迭代通過字符串的字符和修改下一個字符後_
見https://stackoverflow.com/questions/3618733。 –
@WiktorStribiżew實際上是重複的,目標問題提供適用的本地和第三方解決方案。 – Mena
你只需要在'replaceAll()'中使用正則表達式,比如'mySolution.replaceAll(「_([a-zA-Z] {1})」,「$ 1」);'。 –