2014-11-06 152 views
1

我有一個String text "Welcome!to [email protected]";字符串轉換爲字符數組,包括標點符號

我知道如何將它轉換爲接收陣列[歡迎,對,JAVA]

String[] aaa = text.split("[\\p{IsPunctuation}\\p{IsWhite_Space}]"); 
    System.out.println(Arrays.toString(aaa)); //priinting 

但我需要包括標點符號。我需要收到[歡迎,!,to,java,@]

任何人都知道誰來接收它?

我之所以需要這樣做,是因爲我有一個randomise(char[] cw)方法,它爲我調整單詞。然而,當標點包括

public void randomise(char[] cw) 
    { 
     for (int i = 1; i < cw.length-1; i++) 
     { 
      //my range 
      int range= (int)(Math.random() * (cw.length - i - 1)); 

      //swap index 
      int index=i+range; 

      //swap 
      char temp = cw[i]; 
      cw[i] = cw[index]; 
      cw[index] = temp; 

     } 
     System.out.println(cw); 

    } 

感謝您的回覆

+1

是否http://stackoverflow.com/questions/2206378/how該方法是瘋狂拆分字符串 - 但也保留的分隔符或http://stackoverflow.com/questions/275768/is-there-a-way-to-split-strings-with-string-split - 包含分隔符包含您正在尋找的答案?另外,請查看['StreamTokenizer'](http://docs.oracle.com/javase/7/docs/api/java/io/StreamTokenizer.html),使用'ByteArrayInputStream'和'!','@'等設置爲「普通」字符。 – 2014-11-06 18:24:21

+1

是的。你的第二個鏈接幫助了我。谷歌搜索和coundnt找到。你輸入什麼詞找到它?非常感謝 – 2014-11-06 18:38:07

+0

類似於[「java split string keep delimiter」](https://www.google.com/search?q=java+split+string+keep+delimiter),其中「保留分隔符」是關鍵術語那裏。我剛剛從過去的經驗中瞭解到的'StreamTokenizer'。 – 2014-11-06 18:48:05

回答

1

找到一個幫助感謝JasonC

String str = "Welcome!to [email protected]"; 
inputs = str.split("(?!^)\\b"); 
相關問題