繁体   English   中英

如何在python中的字符串中删除换行符

[英]How can I remove a newline character in a string in python

我使用BeautifulSoup提取了一个网站,然后得到了文本需求。 问题是它在我需要删除的文本中具有“ \\ n”字符。

示例输出文本:

\\ n我以这部电影的预告片为准,想在\\分钟120分钟的通俗易懂的线条,无心的情节以及那种使\\“邮递员”成为最恶毒的电影错误\\ n的恶作剧行为\\ n下车我们这个时代。 但是我很震惊。\\ n震惊地发现了由科斯特纳(Costner)主演的电影,它吸引了观众的灵魂。 震惊的是阿什顿·库彻(Ashton Kutcher)可以扮演如此严肃的角色。 震惊的是这部由主演的电影实际上参与并捕捉了自己的情感。 自从《罗宾汉》问世以来,我还没有看到过这个Costner:充满\\ n深度和复杂的情感。 库彻(Kutcher)似乎已经调整了他在《蝴蝶效应》中扮演的严肃角色。 这两位演员以严肃认真,专注的态度进入了这部电影,在我认为这是我今年看过的最好的电影之一中透出了光芒。 不,这不是一部\\ n奥斯卡值得的电影。 这不是一部史诗,也不是一部深刻的社会评论\\ n电影。 相反,它是一个有关简单主题的故事,以某种方式阐明\\ n,使该受众具有比想像更高的同理心。 我认为这就是出色的电影摄制,这部作品给我留下了深刻的印象。 好极了!\\ n

我尝试了以下方法删除新行。

方法1-正则表达式

x = review_text.get_text()
y = re.sub(r'(\n)','',x)

方法2-rstrip

x = review_text.get_text()
x.rstrip()

这两种方法都不适合我。

当我使用拆分

x = review_text.get_text()
print(x.split("\n"),"\n\n")

输出如下

['\\ n我想提前看完这部电影,以为我打算\\在120分钟的通俗易懂的线条,无心的情节以及那种使\\“邮递员”成为最恶毒的电影之一的\\ n恶作剧\\ n我们时代的电影失误。 但是我很震惊。\\ n震惊地发现了由科斯特纳(Costner)主演的电影,它吸引了观众的灵魂。 震惊的是阿什顿·库彻(Ashton Kutcher)可以扮演如此严肃的角色。 震惊的是这部由主演的电影实际上参与并捕捉了自己的情感。 自从《罗宾汉》问世以来,我还没有看过这本科斯特纳:充满\\ n深度和复杂的情感。 库彻(Kutcher)似乎已经调整了他在《蝴蝶效应》中扮演的严肃角色。 这两位演员以严肃认真,专注的态度进入了这部电影,这在我认为是我今年看过的最好的电影之一中得到了体现。 不,这不是一部\\ n奥斯卡值得的电影。 这不是一部史诗级电影,也不是一部深刻的社会评论电影。 相反,它是一个有关简单主题的故事,以某种方式阐明\\ n,使该受众具有比想像更高的同理心。 这就是我认为出色的电影制作所能为我留下的深刻印象。 好样的!\\ n']

我应该怎么做才能从文本中删除新行。

谢谢。

您确定它是'\\n'字符而不是'\\\\n'两个字符序列吗? 如果为'\\ n',则x.rstrip()应该可以工作,否则请尝试x.replace('\\\\n','')

如果s是,则字符串如:

\nNo, its not an\nOscar worthy movie. It's not an epic, or a profound social commentary\nfilm. Rather, its a story about a simple topic, illuminated in a way\nthat brings that audience to a higher level of empathy than thought\npossible. That's what I think good film-making is and I for one am\nthroughly impressed by this work. Bravo!\n

然后s.strip()将删除尾随和前导空格,包括换行符:

 No, its not an\nOscar worthy movie. It's not an epic, or a profound social commentary\nfilm. Rather, its a story about a simple topic, illuminated in a way\nthat brings that audience to a higher level of empathy than thought\npossible. That's what I think good film-making is and I for one am\nthroughly impressed by this work. Bravo!

要删除所有其他\\ n,请将其替换为“”,或将其完全删除

s.replace("\n", "").strip()

No, its not an Oscar worthy movie. It's not an epic, or a profound social commentary film. Rather, its a story about a simple topic, illuminated in a way that brings that audience to a higher level of empathy than thought possible. That's what I think good film-making is and I for one am throughly impressed by this work. Bravo!

您应该可以使用x=x.replace("\\n", "")取出换行符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM