如何在Python中将修改后的值返回到修改循环中

  • 本文关键字:修改 返回 循环 Python python
  • 更新时间 :
  • 英文 :


我有一个字符串值列表(电报的帖子)。许多单独的值包括字符串模式我想删除(JSON格式)。

字符串值将是一个例子,"['ОппозиционныйроссийскийполитикАлесейНавальныйвпалвкому。Его соратники считают, что его отравили。 n nСейчасНавальныйнаходитсявомскойбольницескороймедицинскойпомощи№ u202f1。Посетителейнему не пускают。', {'type': 'bold', 'text': 'Очень странные дела. '}, "]">

我想要删除的字符串模式的例子包括:

  • n
  • u202f1
  • , {'type': 'bold', 'text':
  • },">

我有一个我想要删除的字符串模式列表,在一个xslx电子表格中。

对于一些修改,我会手动使用Python的替换函数。在这种情况下,对于单个字符串值,我想循环遍历"更正列表"并替换它们中的每一个(替换为空白,即"")。

但是每次字符串被替换操作时,它就需要被输入到下一个替换操作中-不确定如何做到这一点?

我怀疑可能是a '而True’循环,但不知道如何制作。

这是我的代码播放的地方…

# GET THE 'CORRECTIONS' TO FIND & REPLACE (WITH BLANK) IN THE TARGET STRING (TELEGRAM POST)
def load_corrections(filepath): 

corrections = []

wb = openpyxl.load_workbook(filepath)
ws = wb.active

rows = list(ws.rows) # convert the openpyxl generator object into a list

for row in rows[1:]: # skip the heading

corrections.append(row[0].value)

return corrections
# FUNCTION TO TAKE 'DIRTY' STRING VALUE, SUBJECT TO LIST OF 'CORRECTIONS', RETURN CLEAN STRING VALUE
def clean_message_text(dirty_text): 

corrections_data = load_corrections(corrections_filepath) # get the list of 'corrections'

for c in corrections_data:
clean_text = dirty_text.replace(c[0], "")
# ⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆ this is the issue - I need this new clean_text to be fed back into the loop to be subject to the next correction list

return clean_text

希望这一切都有意义。提前感谢🙌

看起来不错,你只需要一个接一个地应用。不需要一个干净的文本变量,用字符串调用函数会生成一个新对象(如果你知道这个术语,就像按值调用,在这里阅读更多)。

def clean_message_text(dirty_text):
corrections_data = load_corrections(corrections_filepath) 
for c in corrections_data:
dirty_text = dirty_text.replace(c, "") # note that you probably need to replace c and not c[0]?
return dirty_text

注::也许你想把dirty_text重命名为message之类的东西,以表明字符串在末尾不是脏的。

最新更新