2017-02-18 56 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 

``