我有以下字符串:
mystring = '\n\nAvailability:\n Open source, \n\nResource Name:\n QIIME \n\nResource ID:\n SCR_008249'我想从上面的字符串替换\n,但不想替换\n\n。
所以我试了一下:
new_string = " ".join(mystring.split())并发现:
'Availability: Open source, Resource Name: QIIME, Resource ID: SCR_008249'
但我想要这样的东西:
'Availability: Open source,
Resource Name: QIIME Resource
ID: SCR_008249'谢谢!
发布于 2020-12-02 16:23:59
您可以使用regex:
import re
print(re.sub(r'\n(\n)?', r'\1', mystring))这解决了你所说的问题。但是,输出看起来与输出不同,因为输出不符合您的要求。
如果你也想标准化空白,加入一些空白海绵模式,例如。
print(re.sub(r'\n(\n)? *', r'\1 ', mystring))发布于 2020-12-02 16:02:58
一种选择是将其拆分为\n\n\,从每个部分中删除\n,然后将其重新组合在一起:
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'
https://stackoverflow.com/questions/65111582
复制相似问题