Я хочу прочитать все слова в предложении, в Массив. Проблема в том, что между словами может быть любое количество пробелов.
Example - "I am a good boy".
Я попытался использовать метод Split с пробелом в качестве разделителя, но он также будет включать пробел, как и в результате.
Код, который я использовал для этого, приведен ниже. Пожалуйста, проигнорируйте, остальная часть кода.
class test {
public static void main(String[] args){
// c. Total the 100 elements of floating-point array c and print them.
double c[] = new double [100];
String str="BusNo 123 ArrivalTime 1030 Departure 1420 ";
String split[]=str.split(" ");
double total=0;
//Initialize C with Random Numbers from 0 to 10,000 Randomly
for(int k=0;k<100;k++){
c[k]=Math.random() *10000;
total+=c[k]; //Find the Total;
System.out.printf("C is %f\n",c[k]);
}
System.out.printf("Total is %f\n", total);
}
}
Для моего примера текста, как показано выше, массив split [] будет следующим:
[I, , , , am, a, good, , , , , , boy]
Я знаю, обходной путь, что у меня может быть цикл после моего str.split() и игнорировать все пробелы.
Я был бы признателен, если есть лучший способ читать напрямую без каких-либо пробелов
Только для пробелов вы можете использовать
String[] strings = input.split("[ ]+");
или
String[] strings = input.split(" +");
Для любых пробелов (пробелов, вкладок или новых строк) используйте
String[] strings = input.split("\\s+");