Python 提取特定字符之间的子字符串
我有一些字符串,比如:Python 提取特定字符之间的子字符串,python,regex,Python,Regex,我有一些字符串,比如: \i{}Agrostis\i0{} <L.> 部分原因是,当我运行它时,我只得到: Agrostis <L.> Agrostis 没有 <L.> 部分(我想保留) 有什么提示吗 提前感谢您提供的任何帮助 使用s.replace('\i{},'')和s.replace('\io{},'')使用s.replace('\i{},'')和s.replace('\io{},'')你可以用不同的方法来做这件事 最简单的方法是使用str.
\i{}Agrostis\i0{} <L.>
部分原因是,当我运行它时,我只得到:
Agrostis <L.>
Agrostis
没有
<L.>
部分(我想保留)
有什么提示吗
提前感谢您提供的任何帮助 使用
s.replace('\i{},'')
和s.replace('\io{},'')
使用s.replace('\i{},'')
和s.replace('\io{},'')
你可以用不同的方法来做这件事
最简单的方法是使用str.replace
s = '''\i{}Agrostis\i0{} <L.>'''
s2 = s.replace('''\i{}''', '').replace('''\i0{}''', '')
s=''\i{}Agrostis\i0{}''
s2=s.replace(''\i{}'','').replace('\i0{}'','')
另一种方法是使用
re.sub()
您可以用不同的方法来实现
最简单的方法是使用str.replace
s = '''\i{}Agrostis\i0{} <L.>'''
s2 = s.replace('''\i{}''', '').replace('''\i0{}''', '')
s=''\i{}Agrostis\i0{}''
s2=s.replace(''\i{}'','').replace('\i0{}'','')
另一种方法是使用
re.sub()
您可以使用s.replace('\i{}','')
和s.replace('\io{}','')
,正如Julien所说,或者继续使用regex方法,将您的模式更改为:
re.search('\i{}(+?)\i0(+++),项目名称)
然后使用
m.group(1).strip('\\')+m.group(2).strip('\\')
作为结果。您可以使用s.replace('\i{}','')
和s.replace('\io{}','')
,如Julien所说,或者继续使用正则表达式方法,将您的模式更改为:
re.search('\i{}(+?)\i0(+++),项目名称)
然后使用m.group(1).strip('\\')+m.group(2).strip('\\')作为结果。您需要使用该函数
In [34]: import re
In [35]: s = "\i{}Agrostis\i0{} <L.>"
In [36]: re.sub(r'\\i\d*{}', '', s)
Out[36]: 'Agrostis <L.>'
[34]中的:导入re
在[35]:s=“\i{}Agrostis\i0{}”
在[36]:re.sub(r'\\i\d*{}','',s)
Out[36]:“Agrostis”
您需要使用该功能
In [34]: import re
In [35]: s = "\i{}Agrostis\i0{} <L.>"
In [36]: re.sub(r'\\i\d*{}', '', s)
Out[36]: 'Agrostis <L.>'
[34]中的:导入re
在[35]:s=“\i{}Agrostis\i0{}”
在[36]:re.sub(r'\\i\d*{}','',s)
Out[36]:“Agrostis”
您可以将字符类与re.sub()一起使用。
重新导入
regex=r'\\i[\d{}]+'
string=“\i{}Agrostis\i0{}”
string=re.sub(regex',string)
打印字符串
请参阅。您可以将字符类与re.sub()一起使用。
重新导入
regex=r'\\i[\d{}]+'
string=“\i{}Agrostis\i0{}”
string=re.sub(regex',string)
打印字符串
请参阅。是否确定\i{}
和\io{}
子字符串在字符串中只出现一次,第一个总是在第二个之前?是的,它们的格式都非常相同。是否确定\i{}
和\io{}
子字符串在字符串中只出现一次,第一个总是在第二个之前?是的,它们都有非常相同的格式。