Java代码replaceall方法用空值替换字符串?

时间:2014-02-25 11:28:59

标签: java

下面的java代码用空格替换字符串变量BusDetails中的所有字符,即使我没有看到替换它的方法的(。点)。为什么?

输出= _BusDetails

String BusDetails = " BUS_12_UFV_BOURQUIN_COMMUTER_TO_UFV";

String table_UniqueBusNameTimings = BusDetails.replaceAll(".", "")+"_BusTimings";

System.out.println("TableName: "+table_UniqueBusNameDetails);

3 个答案:

答案 0 :(得分:4)

replaceAll将其第一个参数视为正则表达式,在正则表达式中,点与任何单个字符匹配,但换行符除外。

要将一个固定字符串替换为另一个固定字符串,您应该使用replace method that takes two CharSequence parameters - 尽管它的名称,此方法确实替换了第一个所有次出现CharSequence与第二个。{/ p>

String table_UniqueBusNameTimings = BusDetails.replace(".", "")+"_BusTimings";

答案 1 :(得分:2)

您需要转义该元字符

String table_UniqueBusNameTimings = BusDetails.replaceAll("\\.", "")+"_BusTimings";

了解转义如何在java中运行

http://docs.oracle.com/javase/jndi/tutorial/beyond/names/syntax.html

答案 2 :(得分:1)

你需要逃避这段时间,如下:

    String BusDetails = " BUS_12_UFV_BOURQUIN_COMMUTER_TO_UFV";

    String table_UniqueBusNameTimings = BusDetails.replaceAll("\\.", "")+"_BusTimings";

    System.out.println("TableName: "+table_UniqueBusNameTimings);