我有一条跨越多 (2-3) 行的错误消息。我想捕获它并嵌入警告中。我认为将换行符替换为空格是可以的。
我的问题是,哪种方法是最佳实践。我知道这不是最好的问题,但我想正确编码。我也可能会遗漏一些东西。到目前为止,我想出了 3 种方法:
- string.replace()
- 正则表达式
- string.translate()
我倾向于使用 string.translate(),但是在阅读了它的工作原理之后,我认为将除 '\n' 之外的每个字符都转换为自身是一种矫枉过正的做法。对于这样一个简单的任务,正则表达式似乎也有点矫枉过正。
是否有指定的其他方法,或者我应该选择上述方法之一?我更关心便携性和稳健性而不是速度,但它仍然有些相关。
请您参考如下方法:
只需使用replace方法:
>>> "\na".replace("\n", " ")
' a'
>>>
这是最简单的解决方案。使用正则表达式是矫枉过正,也意味着你必须导入。 translate 稍微好一点,但仍然没有提供 replace 没有的任何内容(当然除了更多的输入)。
replace 也应该运行得更快。
