我有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);
}
感谢您的回复
答案 0 :(得分:1)
感谢JasonC
找到了帮助String str = "Welcome!to java@";
inputs = str.split("(?!^)\\b");