Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Split string bị loại bỏ ký tự số

    Nhờ mọi người xem và sửa giúp em đoạn code dưới. Em dùng split nhưng cứ bị loại bỏ luôn ký tự viết hoa và ký tự số.
    Em đã thử cho viết thường thì giải quyết được phần loại bỏ ký tự hoa, còn lại em nghĩ là do delimitor nhưng không biết sửa:


    Mã:
    /* package codechef; // don't place package name! */
    
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    
    /* Name of the class has to be "Main" only if the class is public. */
    class Codechef
    {
    	public static void main (String[] args) throws java.lang.Exception
    	{
    		// your code goes here
    		String	a= "toi,la......ngUOi          beo,,,lam''''''''''''''t_123 assd...,'.'aw";
    		String b=a.toLowerCase();
    		System.out.println(a);
    		System.out.println(b);
    		String[] parts = a.split("[\\s,.-\\[\\]\\(\\)\\']+");
    		String[] parts2 = b.split("[\\s,.-\\[\\]\\(\\)\\']+");
    		for(int i=0;i<parts.length;i++){
    		
    		System.out.println("part " + i + ": " + parts[i]);
    		}
    		System.out.println("____________");
    			for(int i=0;i<parts2.length;i++){
    		
    		System.out.println("part " + i + ": " + parts2[i]);
    		}
    	}
    }
    Có thể vào https://www.codechef.com/ide để chạy thử luôn [IMG]images/smilies/smile.png[/IMG]

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thử đổi sang:

    Mã:
    String[] parts = a.split("[\\s,.\\[\\]\\(\\)\\'-]+");
    Ký tự "-" trong character class [] có ý nghĩa đặc biệt, chỉ dấu 1 dãy (range), cho nên cần để nó ở cuối regex để có nghĩa bình thường.

    http://www.regular-expressions.info/charclass.html

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •