Python 删除第n次出现之前的所有字符
Python中的SQL是否有一个与CHARINDEX/SUBSTRING相当的Python 删除第n次出现之前的所有字符,python,substring,Python,Substring,Python中的SQL是否有一个与CHARINDEX/SUBSTRING相当的 我要做的是删除第3个“之前和第4个”之后的字符,这意味着它只剩下数值 a = "[counter('check', Id('23345675'))]" 预期的字符串输出: a = "23345675" 听起来像是某种正则表达式解析的工作: import re test_string = "[counter('check', Id('23345675'))]&q
我要做的是删除第3个“
之前和第4个”
之后的字符,这意味着它只剩下数值
a = "[counter('check', Id('23345675'))]"
预期的字符串输出:
a = "23345675"
听起来像是某种正则表达式解析的工作:
import re
test_string = "[counter('check', Id('23345675'))]"
pattern = re.compile(r"(?:.*?'){3}(.*?)'")
m = pattern.match(test_string )
print(m.group(1))
该模式实质上是说,找到以“3次”结尾的任何内容,然后捕获该部分直到下一个“如果您想要第3次和第4次之间的所有内容”
,您可以在上拆分该字符串并获取第3部分:
a = "[counter('check', Id('23345675'))]"
a.split("'")[3] # "23345675"
请注意,您也可以拆分一定次数,例如,如果您希望在第三次'之后进行拆分,请执行以下操作:
a.split("'", 3)[-1] # this gives: "23345675'))]"
不太熟悉SQL,但您是否正在寻找类似的东西
>>> a.split("'")[3]
'23345675'