我尝试解决一些String任务,但是有一些问题。 我不明白如何搜索2个不同的字符,如果这2个字符之间有1个字符,则如何删除。
我的任务是:
在字符串“ length-3”中查找诸如“ zip”和“ zap”之类的模式,以“ z”开头,以“ p”结尾。返回一个字符串,其中所有这些单词的中间字母都消失了,因此“ zipXzap”产生“ zpXzp”。 我的代码是:
public String zipZap(String str) {
char z = 'z';
char p = 'p';
for (int i = str.indexOf('z', 0); i != -1; i = str.indexOf('z', 1)) {
for (int j = str.indexOf('p', 0); i != -1; i = str.indexOf('p', 1)) {
if (p = i + 2) {
str = str.replace(i + 1, " ");
}
}
}
return str;
}
答案 0 :(得分:3)
尝试一下:
public String zipZap(String str) {
return str.replaceAll("z[a-z]p", "zp");
}
答案 1 :(得分:0)
对任何字符都适用:
public static String zipZap(String str) {
return str.replaceAll("z.p", "zp");
}
点(。)表示'任何字符'。