Я бы посоветовал вам узнать о поиске и разрезании индекса по типам последовательностей:
Пример:
def group_between(lst, start_token, end_token):
while lst:
try:
# find opening token
start_idx = lst.index(start_token) + 1
# find closing token
end_idx = lst.index(end_token, start_idx)
# output sublist
yield lst[start_idx:end_idx]
# continue with the remaining items
lst = lst[end_idx+1:]
except ValueError:
# begin or end not found, just skip the rest
break
l = ['RATED',' Awesome food at a good price .', 'Delivery was very quick even on New Year’s Eve .', 'Please try crispy corn and veg noodles From this place .', 'Taste maintained .', 'Like',
'1', 'Comment', '0', 'Share', 'Divyansh Agarwal', '1 Review', 'Follow', '3 days ago',
'RATED', ' I have tried schezwan noodles and the momos with kitkat shake', "And I would say just one word it's best for the best reasonable rates.... Gotta recommend it to everyone", 'Like'
]
for i in group_between(l, 'RATED', 'Like'):
print(i)
Вывод:
[' Awesome food at a good price .', 'Delivery was very quick even on New Year’s Eve .', 'Please try crispy corn and veg noodles From this place .', 'Taste maintained .']
[' I have tried schezwan noodles and the momos with kitkat shake', "And I would say just one word it's best for the best reasonable rates.... Gotta recommend it to everyone"]
Сканер может прочитать текст из любого объекта, который реализует интерфейс Readable.
Это включает BufferedReader
, CharArrayReader
, CharBuffer
, FileReader
, FilterReader
, InputStreamReader
, LineNumberReader
, PipedReader
, PushbackReader
, и StringReader
(от Readable
javadoc). К сожалению, это не включает диалоговых окон.
Самый легкий способ сцепить диалоговое окно с a Scanner
должен был бы, вероятно, создать a Scanner
использование конструктора, который берет a String
, передача ввода данных пользователем от диалогового окна непосредственно к Scanner
.
Нет; Сканер может быть создан для любого количества возможных исходных данных: Файлы, InputStreams, ReadableByteChannels, Строки и что-либо, что поддерживает интерфейс Readable. См. Сводку Конструктора.
Ну, я попробовал примером, данным в лучшем случае способ определить общее количество слов файла в Java?: просто замена new File("my-text-file.txt")
со Строковой переменной, и это работает...
Таким образом, если Вы получаете текстовое содержание компонента в Строку, можно использовать Сканер.