python - 避免两次使用相同的功能
问题描述
我有两个命令的两个输出(内容无关紧要,问题是我必须替换两个相同的字符):
string1 = str(newstring1).replace("\\r", "").replace(" ", "").replace("\\", "").replace("' ", "").replace("\n", ", ").replace("MB ", "MB").replace("MB", "MB ")
string2 = str(newstring2).replace("\\r", "").replace(" ", "").replace("\\", "").replace("' ", "").replace("\n", ", ").replace("MB ", "MB").replace("MB", "MB ")
那行得通,但我的问题是,有没有办法只做一次这些“替换”?而不是这样做两次。
我尝试创建一个变量,.replace("\\r", "\n").replace("[", "").replace("'", "").replace(" ", "").replace(",", "").replace("]", "").replace("\n ", "\n").rstrip().lstrip().replace("MB ", "MB").replace("MB", "MB ")
但它不起作用。
解决方案
编写一个自定义函数并为所有字符串调用它。
def replace_all(s):
return s.replace("\\r", "").replace(" ", "").replace("\\", "").replace("' ", "").replace("\n", ", ").replace("MB ", "MB").replace("MB", "MB ")
string1 = replace_all(newstring1)
string2 = replace_all(newstring2)
推荐阅读
- reactjs - 无法在“查询”类型上查询字段“allMdx”
- c# - 根据属性值对 XML 中的元素进行分组
- c++ - 在庞大的数据集中找到最大的模式而不会超时
- slack-api - 找出您的 Slack 应用程序是否被工作区批准/阻止的编程方式?
- html - 为什么我的链接在链接文本之外可以点击
- flutter - Flutter Web 不滚动
- amazon-web-services - AWS Lambda:有没有一种方法可以让我在执行时观看函数打印的实时日志
- python-3.x - 为什么合并后附加列不起作用?
- java - 更新电子邮件在 Auth Firebase 中不起作用
- postgresql - 使用数字参数的动态查询中的表名替换