2014-02-25 65 views
1

下面的java代码用空白替换了字符串变量BusDetails中的所有字符,即使我没有看到用于替换它的方法(。dot)。为什么?Java代码replaceall方法替换一个空值的字符串?

输出= _BusDetails

String BusDetails = " BUS_12_UFV_BOURQUIN_COMMUTER_TO_UFV"; 

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

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

回答

4

replaceAll对待自己的第一个参数为正规表达激情,在正则表达式中,一个点匹配任何单个字符,除了换行符。

替换为另一个一个固定字符串应该使用replace method that takes two CharSequence parameters代替 - 尽管它的名字,这种方法实际上取代所有出现第一CharSequence与第二个。

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

你需要躲避期间,像这样:

String BusDetails = " BUS_12_UFV_BOURQUIN_COMMUTER_TO_UFV"; 

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

    System.out.println("TableName: "+table_UniqueBusNameTimings); 
相关问题