14

除了 using 之外,如何在 python 中使用 all\n和in剥离字符串?\tstrip()

我想将字符串格式化"abc \n \t \t\t \t \nefg""abcefg“?

result = re.match("\n\t ", "abc \n\t efg")
print result

结果是None

4

4 回答 4

21

看起来您还想删除空格。你可以做这样的事情,

>>> import re
>>> s = "abc \n \t \t\t \t \nefg"
>>> s = re.sub('\s+', '', s)
>>> s
'abcefg'

另一种方法是这样做,

>>> s = "abc \n \t \t\t \t \nefg"
>>> s = s.translate(None, '\t\n ')
>>> s
'abcefg'
于 2013-07-16T04:21:03.513 回答
12

一些更多的非正则表达式方法,用于多样性:

>>> s="abc \n \t \t\t \t \nefg"
>>> ''.join(s.split())
'abcefg'
>>> ''.join(c for c in s if not c.isspace())
'abcefg'
于 2013-07-16T04:26:02.490 回答
7

像这样:

import re

s = 'abc \n \t \t\t \t \nefg'
re.sub(r'\s', '', s)
=> 'abcefg'
于 2013-07-16T04:22:07.470 回答
2

对于那些寻找最 Pythonic 方式的人

>>> text = 'abc\n\n\t\t\t123'
>>> translator = str.maketrans({chr(10): '', chr(9): ''})
>>> text.translate(translator)
'abc123'

您可以使用翻译器将字符串中的任何字符更改为您想要的另一个字符

于 2021-04-09T14:56:58.493 回答