终结行字符在Java正则表达式中不起作用

时间:2014-03-22 21:27:36

标签: java regex

public class Bla {

public static void main(String[] args) {
    String s = "/sdsaads/gtagrf/eredsa";
    System.out.println(s.replace("a$", ""));

    }
}

我想删除字符串末尾的“a”。当我删除$时,所有“a”都消失了,但是当我说出来时,什么也没发生。说明?

2 个答案:

答案 0 :(得分:1)

replaceAll()作为第一个参数的regular expression

System.out.println(s.replaceAll("a$", ""));

答案 1 :(得分:1)

replace()方法不期望正则表达式作为参数:

String java.lang.String.replace(CharSequence target, CharSequence replacement)

您应该使用期望正则表达式作为参数的replaceAll()

String java.lang.String.replaceAll(String regex, String replacement)

所以你的代码是:

System.out.println(s.replaceAll("a$", ""));