首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在字符串中替换‘\n’,而在Python中替换‘\n’?

如何在字符串中替换‘\n’,而在Python中替换‘\n’?
EN

Stack Overflow用户
提问于 2020-12-02 15:54:49
回答 2查看 176关注 0票数 2

我有以下字符串:

代码语言:javascript
复制
mystring = '\n\nAvailability:\n  Open source,  \n\nResource Name:\n  QIIME  \n\nResource ID:\n                        SCR_008249'

我想从上面的字符串替换\n,但不想替换\n\n

所以我试了一下:

代码语言:javascript
复制
new_string = " ".join(mystring.split())

并发现:

'Availability: Open source, Resource Name: QIIME, Resource ID: SCR_008249'

但我想要这样的东西:

代码语言:javascript
复制
'Availability: Open source, 
 Resource Name: QIIME Resource 
 ID: SCR_008249'

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-12-02 16:23:59

您可以使用regex:

代码语言:javascript
复制
import re

print(re.sub(r'\n(\n)?', r'\1', mystring))

这解决了你所说的问题。但是,输出看起来与输出不同,因为输出不符合您的要求。

如果你也想标准化空白,加入一些空白海绵模式,例如。

代码语言:javascript
复制
print(re.sub(r'\n(\n)? *', r'\1 ', mystring))
票数 3
EN

Stack Overflow用户

发布于 2020-12-02 16:02:58

一种选择是将其拆分为\n\n\,从每个部分中删除\n,然后将其重新组合在一起:

代码语言:javascript
复制
mystring = '\n\nAvailability:\n  Open source,  \n\nResource Name:\n  QIIME  \n\nResource ID:\n                        SCR_008249'

new_string = "\n\n".join([x.replace("\n","") for x in mystring.split("\n\n")])

print(repr(new_string))

产出:

'\n\nAvailability: Open source, \n\nResource Name: QIIME \n\nResource ID: SCR_008249'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65111582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档