Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 提取特定字符之间的子字符串_Python_Regex - Fatal编程技术网

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{}
子字符串在字符串中只出现一次,第一个总是在第二个之前?是的,它们都有非常相同的格式。