您可以使用以下方法来分割一串字母字符
void separateMyString(){
String str = "my+%name===is+jhon!#and&^I$stay===in^&$#@US";
ArrayList<String> stringdata = new ArrayList<String>();
StringBuffer sb = new StringBuffer();
boolean isInSameString = true;
boolean prevStringValue = Character.isLetter(str.charAt(0));
for(int i=0; i<str.length(); i++){
isInSameString = (Character.isLetter(str.charAt(i))== prevStringValue) ?true:false;
if(i == (str.length() -1)){
isInSameString = false;
}
prevStringValue = Character.isLetter(str.charAt(i));
if(!isInSameString){
if(i == (str.length() -1)){
sb.append(str.charAt(i));
}
stringdata.add(sb.toString());
sb = new StringBuffer();
}
sb.append(str.charAt(i));
}
System.out.println("~~~"+stringdata);
}
输出= ~~~[my, +%, name, ===, is, +, jhon, !#, and, &^, I, $, stay, ===, in, ^&$#@, US]
你的问题是什么?你写了什么,你有什么问题?你有没有试过调试你的代码,看看它为什么没有达到你的预期? – 2011-12-27 11:35:14
正如@佩特所说的。 – 2011-12-27 11:38:29
亲爱的彼得 我试过使用拆分,但IAM无法捕捉非字符串字符串。我想要将字母数字和非数字两种字符串都转换为String数组。 String s1 =“my +%name === is + jhon!#and&^ I $ stay === in ^&$#@ US”; \t String [] nowSplit = s1.split(“[^ a-zA-Z0-9]”); \t \t \t \t 为(INT I = 0;我
srini
2011-12-27 11:41:57