字符串转换为字符数组,包括标点符号
问题描述:
我有一个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);
}
感谢您的回复
是否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
是的。你的第二个链接帮助了我。谷歌搜索和coundnt找到。你输入什么词找到它?非常感谢 – 2014-11-06 18:38:07
类似于[“java split string keep delimiter”](https://www.google.com/search?q=java+split+string+keep+delimiter),其中“保留分隔符”是关键术语那里。我刚刚从过去的经验中了解到的'StreamTokenizer'。 – 2014-11-06 18:48:05