2015-04-06 4 views
0

Я пробовал много раз с различными регулярными выражениями, но ни один из них не работает. В принципе, у меня есть StringTokenizer, который в настоящее время разделяет строку пробелами, но я хочу, чтобы он разбивался на каждый символ вместо этого. Мой текущий код:Как разбить строку на символы в Java?

FileReader fr = new FileReader("test.txt"); 
BufferedReader br = new BufferedReader(fr); 
StringTokenizer st = new StringTokenizer(br.readLine()); 

ответ

3
char c = reader.next().charAt(0); 

Это получает символ строки с индексом ноль. Строки начинаются с нуля. Кроме того, альтернатива

for (int i = 0; i < numberOfChars; ++i){ 
    // get the character using charAt(i) 
    // store the character using an array, as others have specified 
} 

Не забывайте использовать new Scanner(BufferedReader(FileReader("test.txt")));

Для получения дополнительной информации, читайте Take a char input from the Scanner

2

У меня есть StringTokenizer, что в настоящее время разделяя строку пробелами,

Ознакомьтесь с API StringTokenizer. Если вы не укажете разделители, то используются деминераторы по умолчанию.

Значит, вам нужно указать все разделители.

Кроме того, проще всего использовать метод String.toCharArray() и перебирать массив.

2

Если вы нуждаетесь в них, как гольцов:

char[] characters = br.readLine().toCharArray(); 

Если вы нуждаетесь в них, как струны:

String[] characters = br.readLine().split(""); 
Смежные вопросы