Java, выбирающий слова из строки

#java #parsing

#java #синтаксический анализ

Вопрос:

Всем привет. Прошу прощения за этот смущающий вопрос новичка, но, похоже, я не могу определить команду для этого. У меня все в порядке с python, и у меня был скрипт на jython, который я конвертирую в чистую Java (и изучаю по пути).

У меня есть строка: Java is really cool

Я знаю, как удалить строку, чтобы получить конечный результат: really cool

но я не уверен, что есть команда для этого на java. Я нашел команды в java, чтобы сделать это конкретно по тексту, но я хочу использовать пробел в качестве разделителя и получить слова.

Кто-нибудь может сказать мне, какую команду Java использовать? Я хотел бы иметь возможность либо удалить первые два слова и / или конкретно выбрать нужные мне слова.

Спасибо,

Комментарии:

1. Каковы правила, которые решают, какие слова извлекать? Без правил нет кода. В противном случае String#split(…) позволяет разделять строки на основе практически любого разделителя.

Ответ №1:

Я думаю, вы ищете String.split .

 String s = "Java is really cool";
String words[] = s.split(" ");
String firstTwo = words[0]   "  "   words[1]; // first two words
String lastTwo = words[words.length - 2]   " "
          words[words.length - 1]; // last two words
  

Комментарии:

1. Спасибо, выглядит неплохо. Я смог зайти так далеко, но как мне получить все из вторых слов onwards..in на python это были бы слова [2:], но не уверен, как это сделать на java.

2. @Lostsoul: Возможно, придется просто создать новый массив и использовать старый for цикл для извлечения слов из 2 и далее. words[2:] — это просто синтаксический сахар для того же самого.

Ответ №2:

Пожалуйста, взгляните на String.split метод

Ответ №3:

 String foo = "java is really cool";
String bar[] = foo.split(" ");
  

это разделит все слова в массив.