繁体   English   中英

仅当字符在 python 中以特定顺序出现时才从字符串中删除字符

[英]Remove characters from a string only when they occur in a certain order in python

我正在尝试清理这个字符串“cha?ra\ncter num?\nber”。 我希望它删除“?” 和 "\n" 单独时不删除 "n"。 我尝试了以下,但它不起作用。 任何建议表示赞赏!

data_doc='cha?ra\ncter num?\nber'
code={"?":"", "\n":""}
table=str.maketrans(code.keys())
data_doc.translate(table)

一种更短的方法是简单地使用 replace

data_doc='cha?ra\ncter num?\nber'
data_doc = data_doc.replace('?','').replace('\n','')

Output:

character number
import re
data_doc='cha?ra\ncter num?\nber'
cleaned = re.sub("[\\n\?]", "", data_doc)
print(cleaned)

output:

character number

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM