Java如何删除字符串中的尾随和前导转义斜杠

时间:2016-02-23 20:04:16

标签: java regex

例如,我有一个字符串a="\\a\\b\\";

如何删除前导和尾随中的所有转义斜杠,因此处理后的字符串将为a\\b

我尝试使用:

a=a.replaceFirst("\\+$", "");
a=a.replaceFirst("\\+", "");

但它没有像我预期的那样正常工作。

2 个答案:

答案 0 :(得分:2)

你可以使用两个正则表达式:

String a = "\\\\a\\b\\\\\\";
System.out.println(
   a.replaceAll("^\\\\+", "")
    .replaceAll("\\\\+$", "")
);

这么多吧,对吗?这是因为要在String中表达单个"\",我们需要使用另一个条形图来查看它,它将是"\\"。但是,\也是正则表达式的特殊字符,因此您也需要对它进行筛选。

这就是为什么你需要四个\\\\,它将被“翻译”为两个。

答案 1 :(得分:0)

从开始循环遍历字符串,直到你点击非斜杠并删除它之前的斜杠,反之亦然,以便尾随。

我不会使用正则表达式来处理这个微不足道的事情。