字符串转换为char数组,包括标点符号

时间:2014-11-06 18:21:29

标签: java string

我有String text "Welcome!to java@";

我知道如何将其转换为接收数组 [Welcome,to,java]

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

但我需要加入标点符号。我需要接收 [Welcome,!,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 个答案:

答案 0 :(得分:1)

感谢JasonC

找到了帮助
String str = "Welcome!to java@";
inputs = str.split("(?!^)\\b");