2015-05-22 3 views
1

Я хочу использовать StringTokenizer для разделения каждого символа в одной строке. STH какJava StringTokenizer для разбиения каждого отдельного символа в одной строке

abc {{ } 

И ожидать выход как

a 
b 
c 
{ 
{ 
} 

Но по умолчанию будет разделен только белым пространством

StringTokenizer st=new StringTokenizer(line); 

Выход

abc 
{{ 
} 

Как улучшить код Большое спасибо

+0

Почему бы вам просто не использовать 'String # charAt'? –

+0

... или String @ toCharArray(), который дает вам каждый символ в хорошем массиве ... –

ответ

3

Вам не нужно использовать StringTokenizer. Вы можете просто сделать

char[] temp = string.toCharArray(); 
String reassembled = ""; 
for(int a = 0;a<temp.length;a++) 
{ 
    reassembled+=temp[a]+"\n"; //Adding newline 
} 
System.out.print(reassembled); 
2

У вас есть несколько вариантов для этого.

 String data = "abc {{ }"; 

     //If you want to remove the spaces in between 
     data = data.replace(" ", ""); 

     //Option - 1 : 
     for(char ch : data.toCharArray()){ 
      System.out.println(ch); 
     } 

     //Option - 2 
     for(int i=0;i<data.length();i++){ 
      System.out.println(data.charAt(i)); 
     } 
2

Вы можете использовать метод string.split().

String a = "abc {{ }"; 
    String[] b = a.split(""); 
    for(int i = 0; i < b.length; ++i){ 
     if(!b[i].equals(" ")){ 
      System.out.println(b[i]); 
     } 
    } 
Смежные вопросы