java 删除两个指定字符()之间的字符

2025-02-25 08:50:30
推荐回答(4个)
回答1:

public class Test {
public static void main(String[] args) throws ParseException {
String origin = "123abc456ghi789";//原始字符串
String matter1 = "abc";//目标字符串1
String matter2 = "ghi";//目标字符串2
int a = origin.indexOf(matter1);//第一个字符串的起始位置
int b = origin.indexOf(matter2);//第二个字符串的起始位置
String result = origin.substring(0, a+matter1.length())+origin.substring(b, origin.length());//利用substring进行字符串截取
System.out.println(result);
}
}

如上面的小程序所示,我们只要利用indexOf获取两个指定字符串的位置,在结合字符串的长度就能够满足你提出的条件。最终结果如下图所示:

回答2:

public class Test {
public static void main(String[] args) {
String text = "1234 /* xxxxxxx */ ####\n"
+ "5678 //yyyyy\n"
+ "90/*###*/12";
String output = text.replaceAll("/\\*.*?\\*/", "")
                    .replaceAll("//.*?\n", "\n");
System.out.println(output);
}
}

回答3:

使用正则表达式吧

删除()之间的字符 可以这样写

Pattern p = Pattern.compile("(.*)(()(.*)()).*");

Matcher m = p.matcher("需要匹配的字符 或者fileIO");

最后使用 m.group(1) + m.group(3) + m.group(5)

回答4:

使用替换可以吗? 正则表达式加替换