3 回答

TA貢獻1799條經驗 獲得超8個贊
您可以像這樣使用正則表達式:
String str = "gladiator"; // your input string
str = str.replaceAll("([aeiou])", "$1-");
System.out.println(str);

TA貢獻1848條經驗 獲得超2個贊
嘗試這個:
static char[] vowelArray = {'e', 'i', 'u', 'o', 'a'};
public static String insertDashAfterWovel(String input){
char[] tmp=input.toCharArray();
for (int i = 0; i < vowelArray.length; i++) {
for(int j=0;j<tmp.length;j++){
if (vowelArray[i]==tmp[j]){
input=input.replace(input.substring(j,j+1),(input.substring(j,j+1)+"-"));
break;
}
}
}
return input;
}

TA貢獻1797條經驗 獲得超6個贊
由于海報的問題是:
我做的方法不行。如何使它在每個檢測到的元音后添加一個破折號并返回如下示例中的字符串?“角斗士”應該返回“gla-di-a-to-r”
我提供了一個與原始方法最相似的工作示例。
static char[] vowelArray = {'e', 'i', 'u', 'o', 'a'};
public static String insertDashAfterVowel(String input){
char[] tmp=input.toCharArray();
String newString = "";
for (int i = 0; i < tmp.length; i++) {
newString += tmp[i];
if (new String(vowelArray).indexOf(tmp[i]) != -1){
newString += "-";
}
}
return newString;
}
添加回答
舉報