我有一个字符串值列表(电报的帖子)。许多单独的值包括字符串模式我想删除(JSON格式)。
字符串值将是一个例子,"['ОппозиционныйроссийскийполитикАлесейНавальныйвпалвкому。Его соратники считают, что его отравили。 n nСейчасНавальныйнаходитсявомскойбольницескороймедицинскойпомощи№ u202f1。Посетителей
我想要删除的字符串模式的例子包括:
- 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
之类的东西,以表明字符串在末尾不是脏的。