10

我需要替换一个包含空格和句点的字符串。我尝试过使用以下代码:

String customerName = "Mr. Raj Kumar";

customerName = customerName.replaceAll(" ", "");
System.out.println("customerName"+customerName);

customerName = customerName.replaceAll(".", "");
System.out.println("customerName"+customerName); 

但这会导致:

客户姓名 Mr.RajKumar

顾客姓名

我从第一个 SOP 中获得了正确的客户名称,但从第二个 SOP 中我没有得到任何价值。

4

3 回答 3

37

转义点,否则它将匹配任何字符。这种转义是必要的,因为replaceAll()将第一个参数视为正则表达式。

customerName = customerName.replaceAll("\\.", "");

你可以用一个语句完成整个事情:

customerName = customerName.replaceAll("[\\s.]", "");
于 2012-12-29T08:59:34.437 回答
6

在您的代码中使用它只是为了删除句点

customerName = customerName.replaceAll("[.]","");
于 2012-12-29T10:12:36.533 回答
2

您可以简单地使用str.replace(".", "")它将替换所有出现的点,请记住,replace 和 replaceAll 之间只有一个区别,即稍后使用正则表达式作为输入字符串,而第一个使用简单字符序列。

于 2016-08-22T16:42:52.447 回答