下面的java代码用空格替换字符串变量BusDetails中的所有字符,即使我没有看到替换它的方法的(。点)。为什么?
输出= _BusDetails
String BusDetails = " BUS_12_UFV_BOURQUIN_COMMUTER_TO_UFV";
String table_UniqueBusNameTimings = BusDetails.replaceAll(".", "")+"_BusTimings";
System.out.println("TableName: "+table_UniqueBusNameDetails);
答案 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);