Итерация через строку слово за словом

Я хотел знать, как перебирать строку по слову.

string = "this is a string"
for word in string:
    print (word)

Вышеприведенное дает результат:

T

час

я

s

я

s

s

T

р

я

N

г

Но я ищу следующий результат:

это

является

строка

Ответы

Ответ 1

Когда вы это сделаете -

for word in string:

Вы не повторяете слова в строке, вы повторяете символы в строке. Чтобы повторить эти слова, вам сначала нужно разбить строку на слова, используя str.split(), а затем повторить ее. Пример -

my_string = "this is a string"
for word in my_string.split():
    print (word)

Обратите внимание: str.split(), не передавая никаких аргументов, разбивается на все пробелы (пробел, несколько пробелов, табуляция, новые строки и т.д.).

Ответ 2

Это один из способов сделать это:

string = "this is a string"
ssplit = string.split()
for word in ssplit:
    print (word)

Вывод:

this
is
a
string

Ответ 3

for word in string.split():
    print word

Ответ 4

Использование nltk.

from nltk.tokenize import sent_tokenize, word_tokenize
sentences = sent_tokenize("This is a string.")
words_in_each_sentence = word_tokenize(sentences)

Вы можете использовать TweetTokenizer для анализа случайного текста с помощью смайликов и тому подобного.