У меня возникла проблема с функцией split в java. Я читаю список строк из файла и сохраняю их на два массива. Каждая строка содержит букву + пробел + номер. Я использовал функцию split, чтобы получать буквы в одном из arraylist и числах в другом arraylist. Числа arraylist добавляет числа правильно, но буквы arraylist добавляет письмо, за которым следуют пробелы, но я не знаю почему?!Функция разделения увеличивает новый пробел после разделения строки
Вот файл:
a 1
b 01
c 001
d 000
код:
Scanner s = new Scanner(new File("ListOfCodes.txt.txt"));
String output="";
ArrayList<String> Codes = new ArrayList<String>();
ArrayList<String>Letters = new ArrayList<String>();
String []separated ;
while(s.hasNextLine())
{
output=s.nextLine();
separated = output.split(" ");
for(int k=0;k<separated.length;k++)
{
if(k==0)
Letters.add(separated[k]);
if(k==1)
Codes.add(separated[k]);
}
output="";
}
output="";
for(int i=0;i<Letters.size();i++)
System.out.println(Letters.get(i));
for(int i=0;i<Codes.size();i++)
System.out.println(Codes.get(i));
Выход для кодов ArrayList:
1
01
001
000
Выход для Letters ArrayList:
a
b
c
d
Возможно ли, что перед или после пробела появляются новые строковые символы, такие как '\ r' или' \ n'? Если это возможно, попробуйте использовать 'split (" \\ s + ")'? – Pshemo
Я пробовал, но это не сработало:/ – SUE
Тогда я не могу воспроизвести вашу проблему. Я подозреваю, что любой код, который вы используете, отличается или формат входного файла не так, как вы нам показываете. – Pshemo