Python 如何修剪非特定字符直到一个特定字符?

Python 如何修剪非特定字符直到一个特定字符?,python,Python,在我的例子中,我有一个字符序列需要从两侧修剪。 侧翼区域必须达到=并表示为: 当前: GGGGJTJTJS=======================================================A=======GJTSGJT 作为结果序列,我只需要包含变量的=-content片段 预期: =============================================================A===== 我试过这个,但不起作用: str = "G

在我的例子中,我有一个字符序列需要从两侧修剪。 侧翼区域必须达到=并表示为:

当前: GGGGJTJTJS=======================================================A=======GJTSGJT

作为结果序列,我只需要包含变量的=-content片段

预期: =============================================================A=====

我试过这个,但不起作用:

str = "GGGGJTJTJTJS=======T=================================A=====GJTSGJGJGJT"
for i in str:
 while str.startswith([x for x in [T,A]]):
  str = str.replace(x, "")
        
 while str.endswith([x for x in [T,A]):
  str = str.replace(x, "")
        
 print(str)
您可以使用字符串的find和rfind,并在返回的索引之间对字符串进行切片

print(str[str.find("=")+1: str.rfind("=")])
或者用正则表达式

import re

str = "GGGGJTJTJTJS=======T=================================A=====GJTSGJGJGJT"
print(re.search(r"(?=\=).*(?<=\=)", str).group())
您可以使用字符串的find和rfind,并在返回的索引之间对字符串进行切片

print(str[str.find("=")+1: str.rfind("=")])
或者用正则表达式

import re

str = "GGGGJTJTJTJS=======T=================================A=====GJTSGJGJGJT"
print(re.search(r"(?=\=).*(?<=\=)", str).group())
试试这个

这是干什么的

第一次出现=时第一次拆分并获取Poststring

从上次出现的=开始第二次拆分,并取回您的字符串

注意:我认为两个delimeter character=也从字符串的开头和结尾删除,因此如果需要,最好手动附加它们,这不是最好的方法,但可能比您尝试的更好

这是干什么的

第一次出现=时第一次拆分并获取Poststring

从上次出现的=开始第二次拆分,并取回您的字符串


注意:我认为两个delimeter character=也从字符串的开头和结尾删除,因此如果需要,最好手动附加它们,这不是最好的方法,但可能比您尝试的更好。更可取的是字符串拼接,它比正则表达式快10倍。这是正确的,只是添加了另一个执行任务的选项。Tnx更可取的是字符串拼接,它比正则表达式快10倍。这是正确的,只是添加了另一个执行任务的选项。谢谢你