Как заменить слово в массиве текста в Python? - PullRequest
1 голос
/ 24 февраля 2020

Я хочу обвести свой текст своим собственным массивом:

word_list1 = ["cccc", "bbbb", "aaa"]

def stem_text(text):
     text = text.split()
     array = np.array(text)
     temp = np.where(array == word_list1, word_list1[0], array)
     text = ' '.join(temp)
     return text

Я хочу сделать так:

для всех слов в word_list1, проверьте текст и если какое-либо слово соответствует, замените его на word_list[0]

Ответы [ 3 ]

0 голосов
/ 24 февраля 2020
word_list1 = ["cccc", "bbbb", "aaa"]

def stem_text(text):
  text = text.split()

  for keyword in word_list1:
    text.replace(keyword, word_list1[0])

  text = ' '.join(temp)
  return text

Вы можете просто запустить замену. Если он существует (if keyword in text), он заменит. Но если она не существует, функция замены ничего не сделает, так что это тоже хорошо. Таким образом, условие if не является обязательным.

0 голосов
/ 24 февраля 2020

Допустим, у вас есть список слов, которые вы хотите заменить на "cccc", и строка, в которой вы хотите найти эти слова и заменить их.

words_to_replace = [...]
word_list1 = ["cccc", "bbbb", "aaa"]
string = 'String'
for word in words_to_replace:
   new_string = string.replace(word, words_list1[0])
   string = new_string
0 голосов
/ 24 февраля 2020

Вы можете использовать понимание списка

word_list1 = ["cccc", "bbbb", "aaa"]

def stem_text(text):
    text = text.split()
    temp = [word_list1[0] if i in word_list1 else i for i in text]
    text = ' '.join(temp)
    return text

stem_text("hello bbbb now aaa den kkk")

Вывод:

'hello cccc now cccc den kkk'
...