Python 使用分隔符搜索字符串中的值
以下代码将搜索val1。如何找到val2Python 使用分隔符搜索字符串中的值,python,Python,以下代码将搜索val1。如何找到val2 x = "[val1][val2]" section = x[x.find("[")+1:x.find("]")] print(section) >> val1 如何找到val2?例如,返回数组节[0]和节[1] 已编辑。以下是如何使用re列出两个方括号之间的所有字符串,非贪婪: import re x = "[val1][val2]" section =
x = "[val1][val2]"
section = x[x.find("[")+1:x.find("]")]
print(section)
>> val1
如何找到val2?例如,返回数组节[0]和节[1]
已编辑。以下是如何使用
re
列出两个方括号之间的所有字符串,非贪婪:
import re
x = "[val1][val2]"
section = re.findall('(?<=\[).*?(?=\])',x)
print(section)
这个怎么样
x = "[val1][val2]"
values = x[1:-1].split("][")
print(values)
x[1:-1]
删除两端的两个[]
字符(“[val1][val2]”
->“val1][val2”
).split(“][”)
将字符串拆分为两个列表(“val1][val2”
->[“val1”,“val2”]
打印(值)
打印出值“[val1][val2][val3]”
)
印刷品:
val1 val2
您可以这样做:
def extract(inp):
tmp=inp
while len(tmp):
start=tmp.find('[')
end=tmp.find(']')
if start==-1 or end==-1:
break
val=tmp[start+1:end]
yield val
tmp=tmp[end+1:]
x = "[val1][val2]"
for i in extract(x):
print(i)
显示您想要的输出?并解释您想说什么我不知道val值是多少…有时一个[val]有时几个[val1][val2][val3]…此代码实际上适用于任意数量的值…让我将其添加到我的answer@AyushGarg谢谢!OP还说他们不能使用regex或任何其他库:/
val1 val2
def extract(inp):
tmp=inp
while len(tmp):
start=tmp.find('[')
end=tmp.find(']')
if start==-1 or end==-1:
break
val=tmp[start+1:end]
yield val
tmp=tmp[end+1:]
x = "[val1][val2]"
for i in extract(x):
print(i)