在Python中合并带连字符的单词
我正在尝试在Python中合并带有连字符的单词。例如,我有:
bla bla bla infor-
mation bla bla bla
我想得到 blabla information bla bla bla
。
我可以找到连字符,去掉换行,这些都很简单,但我就是无法把这两个部分合并在一起。我得到的结果最接近的是 bla bla bla infor mation bla bla
,但显然我不能只在空格上进行匹配,因为那样会把其他所有的空格都去掉。
任何帮助都会非常感谢。
3 个回答
3
使用 str.split()
和 str.strip()
:
In [4]: strs="""bla bla bla infor-
...: mation bla bla bla"""
In [6]: "".join(x.strip() for x in strs.split("-\n"))
Out[6]: 'bla bla bla information bla bla bla'
4
你可以把前后有空格的-
替换成一个空字符串,也就是去掉它: -
>>> import re
>>> s = "bla bla bla infor- mation bla bla bla"
>>> re.sub("\s*-\s*", "", s)
'bla bla bla information bla bla bla'
如果hyphen
的末尾有换行符: -
>>> s = """bla bla bla infor-
mation bla bla bla"""
>>> re.sub("\s*-\s*\n", "", s)
'bla bla bla information bla bla bla'
8
为什么要用正则表达式来处理这么简单的事情呢?
>>> s = """bla bla bla infor-
... mation bla bla bla"""
>>> s.replace('-\n','')
'bla bla bla information bla bla bla'