在Python中删除字符串中除新行字符(\n)以外的重复空格
我有一个字符串,我想从中删除重复的空格。但是我的字符串有一个新行字符在Python中删除字符串中除新行字符(\n)以外的重复空格,python,Python,我有一个字符串,我想从中删除重复的空格。但是我的字符串有一个新行字符\n,执行此操作后,此字符也将被删除。 本报告的产出: s = 'A B C D \n EF G' print(s) s = " ".join(s.split()) print(s) 详情如下: A B C D EF G ------------ A B C D EF G 但我不想删除这个字符。所需输出: A B C D EF G 使用过滤器 a='A B C
\n
,执行此操作后,此字符也将被删除。本报告的产出:
s = 'A B C D \n EF G'
print(s)
s = " ".join(s.split())
print(s)
详情如下:
A B C D
EF G
------------
A B C D EF G
但我不想删除这个字符。所需输出:
A B C D
EF G
使用过滤器
a='A B C D \n EF G'
b=" ".join(list(filter(None,a.split(" "))))
print(b)
使用过滤器
a='A B C D \n EF G'
b=" ".join(list(filter(None,a.split(" "))))
print(b)
您可以使用一个模式来匹配2个或更多不带换行符的空白字符,并在替换中使用单个空格
[^\S\r\n]{2,}
|
比如说
import re
s = 'A B C D \n EF G'
print(re.sub(r"[^\S\r\n]{2,}", " ", s))
输出
A B C D
EF G
您可以使用一个模式来匹配2个或更多不带换行符的空白字符,并在替换中使用单个空格
[^\S\r\n]{2,}
|
比如说
import re
s = 'A B C D \n EF G'
print(re.sub(r"[^\S\r\n]{2,}", " ", s))
输出
A B C D
EF G
尝试使用正则表达式
将字符串按'\n'
拆分,然后将多个空格合并为一个空格
import re
comb_whitespace = re.compile(r"\s+")
for i in s.split('\n'):
print(comb_whitespace.sub(" ", i))
尝试使用正则表达式 将字符串按
'\n'
拆分,然后将多个空格合并为一个空格
import re
comb_whitespace = re.compile(r"\s+")
for i in s.split('\n'):
print(comb_whitespace.sub(" ", i))
需要添加\n拆分
s = 'A B C D \n EF G'
print(s)
s = " ".join(s.split())
s = " ".join(s.split('\n'))
print(s)
出局
需要添加\n拆分
s = 'A B C D \n EF G'
print(s)
s = " ".join(s.split())
s = " ".join(s.split('\n'))
print(s)
出局
您可以先在换行符上拆分,然后在两个阶段中重新联接:
'\n.join(['''.join(line.split())用于s.split('\n')))
您可以先在换行符上拆分,然后在两个阶段中重新联接:'\n.join(['.join(line.split())用于s.split('\n'))
再次读取所需的问题输出。再次读取所需的问题输出。