您可以使用以下方法來分割一串字母字符
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