2013-03-09 23 views
5

Tôi có chuỗi như:Java, thay thế số chuỗi với blankstring và loại bỏ tất cả mọi thứ sau những con số

Alian 12WE 

ANI1451 

Có cách nào để thay thế tất cả các số (và tất cả mọi thứ sau số) với một chuỗi rỗng trong JAVA?

Tôi muốn đầu ra trông như thế này:

Alian 

ANI 
+0

Sử dụng biểu thức chính quy để tìm kiếm các chỉ số đầu tiên của số và sau đó sử dụng 'substring (0, index)' .. google nó về cách sử dụng regex trong java và phương thức chuỗi con. Tận hưởng mã hóa :) – asifsid88

Trả lời

7

Với một regex, nó khá đơn giản:

public class Test { 

    public static String replaceAll(String string) { 
     return string.replaceAll("\\d+.*", ""); 
    } 

    public static void main(String[] args) { 
     System.out.println(replaceAll("Alian 12WE")); 
     System.out.println(replaceAll("ANI1451")); 
    } 
} 
+0

THAnks cho câu trả lời! – user1966221

2

Bạn có thể sử dụng một regex để loại bỏ everyting sau một chữ số được tìm thấy - một cái gì đó như:

String s = "Alian 12WE"; 
s = s.replaceAll("\\d+.*", ""); 
  • \\d+ tìm thấy một hoặc các chữ số liên tiếp khác
  • .* khớp với bất kỳ ký tự nào sau các chữ số
1

Sử dụng Regex

"Alian 12WE".split("\\d")[0] // Splits the string at numbers, get the first part. 

Hoặc thay thế "\\d.+$" với ""

+0

Thêm '.trim()' để xóa dấu cách – asifsid88

+1

Nhìn vào kết quả ví dụ: 'Alian' –

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