2012-12-29 39 views
5

Tôi cần phải thay thế một Chuỗi chứa khoảng trắng và dấu chấm. Tôi đã thử với đoạn mã sau:Làm thế nào để thay thế một chuỗi trong java có chứa dấu chấm?

String customerName = "Mr. Raj Kumar"; 

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

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

nhưng kết quả này trong:

CUSTOMERNAME Mr.RajKumar

CUSTOMERNAME

Tôi nhận được tên khách hàng chính xác từ SOP đầu tiên, nhưng từ SOP thứ hai, tôi không nhận được bất kỳ giá trị nào.

+2

Thoát dấu chấm bằng dấu gạch chéo ngược: '\ .' – martijno

Trả lời

25

thoát khỏi dấu chấm, nếu không nó sẽ khớp với bất kỳ ký tự nào. Việc thoát này là cần thiết, bởi vì replaceAll() coi đối số đầu tiên là biểu thức chính quy.

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

Bạn có thể làm toàn bộ điều với một tuyên bố:

customerName = customerName.replaceAll("[\\s.]", ""); 
+2

Để giải thích câu trả lời đúng này:' replaceAll() 'đang làm việc với cụm từ thông dụng, không phải chuỗi ký tự chuỗi. –

+0

** cảm ơn bạn !!! ** – Raghupathiraja

+0

bạn đã giành được trái tim tôi –

4

này sử dụng trong mã của bạn chỉ cho xóa khoảng thời

customerName = customerName.replaceAll("[.]",""); 
1

Bạn chỉ có thể sử dụng str.replace (" . "," ") và nó sẽ thay thế tất cả các lần xuất hiện của dấu chấm, Hãy nhớ rằng chỉ có một sự khác biệt betwwen thay thế và thay thếTất cả đó là, sau này sử dụng regex như chuỗi đầu vào, nơi đầu tiên một sử dụng chuỗi ký tự đơn giản.

Các vấn đề liên quan