【发布时间】:2022-01-05 06:23:52
【问题描述】:
我应该编写一个函数来排除句子(字符串)的某些字母(字符)。我基本上也这样做了,但问题是我只设法删掉了句子中第一次出现的字母。
public static void main (String[] args) {
String text = "This text may be readable without vowels!";
String letters = "aeiou";
Out.println(removeLetters(text, letters));
}
public static String removeLetters(String text, String letters) {
char c = 'f';
String remover = text;
for (int i=0; i<letters.length(); i++) {
c = letters.charAt(i);
remover = removeChar(remover, c);
}
return remover;
}
public static String removeChar(String text, char c) {
int i1 = text.indexOf(c);
String result = text.substring(0, i1) + text.substring(i1+1);
return result;
}
如何更改最后一个函数removeChar 以删除所有字母的外观?找到所有索引可能并不难,但真正的困难是之后将子字符串放在一起,这样你仍然只剩下一个句子,没有某些字母。因为如果我理解正确,您拥有的索引越多,您需要添加的不同子字符串就越多。
目前我明白了。
Ths txt my be readable witht vowels!
目标是到达这里:
Ths txt my b rdbl witht vwls!
【问题讨论】:
-
旁白:使用像
StringBuilder这样的可变类会更有效率,也可能更容易。 docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/…