这是一个句子
$('#' +'<%=txtUserName.ClientID %>').val('');
我想在第二个"[come]and[joy]"
中获取文字
所以我会使用
"[ ]"
获取indexnumber(10,14), 我写了下一个代码
Mid(10,14)
但是,发生了错误
sentense.findall('[')[1]
如果我使用以下代码
"AttributeError: 'str' object has no attribute 'findall'
它只返回第一个索引号&#39; [&#39; = 0 我怎样才能获得第二个索引号码&#39; [&#39; = 10?
一定不能像这样使用sentense.find(&#39; [&#39;,1), 可以搜索任何下一级的第二级或第三级
请帮帮我
答案 0 :(得分:0)
获取字符串中所有[
出现的索引:
>>> sentence = "[come] and[joy]"
>>> [i for i,c in enumerate(sentence) if c=='[']
[0, 10]
提取字符串(不使用re):
>>> start = [i+1 for i,c in enumerate(sentence) if c=='[']
>>> end = [i for i,c in enumerate(sentence) if c==']']
>>> [sentence[i:j] for i,j in zip(start, end)]
['come', 'joy']
答案 1 :(得分:0)
从第二个[]获取文本的最佳解决方案是使用正则表达式。
>>> import re
>>> a = re.findall(r'\[.*\].*\[(.*)\]',s)
>>> a
['joy']
>>> a[0]
'joy'
>>>
如果你只想使用字符串索引,那么就可以像John1024一样回答。
#Get indexes of [
>>> b=[i for i,c in enumerate(s) if c=='[']
>>> b
[0, 9]
>>>
#Get indexes for ]
>>> c=[i for i,c in enumerate(s) if c==']']
>>> c
[5, 13]
>>>
#Get values
>>> s[b[1]+1:c[1]]
'joy'
>>>
您可以找到有关re模块here的更多信息。