2017-02-18 49 views
0

两个隔板之间分割字符串,我想从 <tableScreenletid="xyz"label="xxyyzz"> 这是ID =“”标签之间= 拿起子即SRING应该是这样的: xyz如何在python

+2

[有两个分隔符之间返回一个字符串的函数?(https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem )---这是XML吗?使用XML解析库! –

+0

使用正则表达式。关于正则表达式已经有很多问题了。 –

+2

不,不要使用正则表达式来解析XML。 – chepner

回答

-1

使用split()方法和indexing相当简单。 enter image description here

+4

您正在拍摄截图的任何特定原因,而不是将代码及其答案粘贴为代码块? –

+0

如何修改它以用于多行? –

+0

@shivamsinghal你可以在'for'循环中使用它。 – Laszlowaty

0

您想为此使用BeautifulSoup

这里是如何做你想要的:

from BeautifulSoup import BeautifulStoneSoup as ssoup 

mysoup = ssoup('<table Screenletid="xyz" label="xxyyzz">') 
print mysoup.find('table')['screenletid'] 

2侧指出

:如果您有包含几个标记的字符串可以使用findAll功能。下面是一个简单的例子:

mysoup = ssoup('<table Screenletid="1" label="a"><table Screenletid="2" label="b">') 
for a_table in mysoup.findAll('table'): 
    print a_table['screenletid'] 

:您还可以通过条件查找声明。下面的语句将只能与标签“B”返回表:

mysoup.find('table', {'label': 'b'}) 
# or 
mysoup.findAll('table', {'label': 'b'}) 
1

找到第一个“结束”指数和第二串“开始”指标。 获取索引位置使用索引函数。使用这些索引来获取子字符串。

startSTR = "id=" 
endSTR = "label" 
delimitedLen = 1 #Only to exclude 
substr = str[(str.index(startSTR)+len(startSTR)+delimitedLen):str.index(endSTR)-delimitedLen] 
print substr 

``