如何从python中的字符串中省略或删除空格/制表符/换行符

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (415)

我无法从我的字符串中删除制表符和换行符。

data = "'\t', '\t', '\t Douglas Adams\n' "

for i in data:
    i.replace("'", "").replace("\t", "").replace("\n", "")

虽然这看起来很有效,但事实并非如此

不知何故,不能达到预期的输出

Douglas Adams
提问于
用户回答回答于

.replace()不会改变,而是返回一个交换了指定值的新字符串。另外,我不建议迭代每个角色。调整您的脚本,例如:

data = "'\t', '\t', '\t Douglas Adams\n'"

data = data.replace("\n", "").replace("\t", "").replace("'", "") # reassign data to the returned value
print(data)

产量:

" , ,  Douglas Adams"

让我相信你想要更像的东西:

data = "'\t', '\t', '\t Douglas Adams\n'"

data = data.replace("\n", "").replace("\t", "").replace("'", "").replace(",", "")
print(data)

产量:

"   Douglas Adams"

我会留给你确定一种去除前导空格的方法。注意.replace()也会删除单词之间的空格!提示:你想剥去空白

用户回答回答于

您必须影响替换数据的结果,并且不需要for循环,因为您的字符串被视为唯一字符串,而不是'字符串字符串'。您可以执行以下操作:

data = data.replace("',", "").replace("'", "").replace("\t", "").replace("\n", "").strip() 实现你的最终结果。不过我会考虑看正则表达式

扫码关注云+社区

领取腾讯云代金券