#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(" ");
это разделит все слова в массив.