从字符串中删除所有多行垃圾?

时间:2018-06-15 16:09:35

标签: python string

我想从字符串中删除每个降价相关的东西。

这是一个例子:

>EU

>Please spread this like the plague.


这是我想要的单行输出:EU. Please spread this like the plague.

我对如何做到这一点有任何想法?

我已经尝试了.rstrip()和`.replace('\ n',''),虽然它没有做任何事情。

也许我应该将字符串转换为html markdown,然后使用可用的实用程序将其删除? (剧透:我不知道如何将字符串转换为markdown html)

我还需要将其写入csv。这是我之前发布的示例(同时应用了rstripreplace)。

>EU\
\
>Please spread this like the plague.\
\
<emoticon>

2 个答案:

答案 0 :(得分:1)

尝试使用str.replace()

<强>实施例

s = """>EU

>Please spread this like the plague.

"""

print( s.replace('\r', ' ').replace('\n', ' ') )

<强>输出:

>EU  >Please spread this like the plague.  

答案 1 :(得分:1)

s = """>EU
       >Please spread this like the plague.
       """

print(' '.join(s.replace('>','').replace('.','').replace('\n','.').split()))

Out[ ]:
EU. Please spread this like the plague. 

请注意,这需要我手动删除空行。

另一种方法是使用正则表达式。

import re
s = re.sub(r">", '', s)
s = re.sub(r" {2}", '', s)
s = re.sub(r"\.", '', s)
s = re.sub(r"\n\n", '.', s)
s = re.sub(r" \n", '', s)
s = re.sub(r"\n", '.', s)
print(s)

Out[ ]:
EU. Please spread this like the plague.