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;
}
添加回答
举报