python3 - 對有規律的字符串進行切割(split用法)



str = 'title={WiMAX Power Amplifier Design based on Si-LDMOS},author={Nader, Charles and De Carvalho, Nuno Borges},journal={University of Galve, Sweden},year={2006}'

# 方法1:先通過分隔符 '},' 來分隔字符串,在判斷 'author' 並輸出 author對應的內容
for item in str.split('},'):
    try:
        if 'author' in item:
            print(item.split('{', 1)[1])
    except Exception as e:
        print(e)


# 方法2:
d = dict([s.split('={') for s in str.split('},')])
print(d['author'])

  • 原理: 代碼先執行 for 語句中的 str.split('},') 每次循環得到一個由 '},' 分隔的字符串,然后通過 s.split('={') 分隔出等號前后的內容,split函數返回的是一個數組則經過四次循環得到的內容如下

['title', 'WiMAX Power Amplifier Design based on Si-LDMOS']
['author', 'Nader, Charles and De Carvalho, Nuno Borges']
['journal', 'University of Galve, Sweden']
['year', '2006}']


d = dict([s.split('={') for s in str.split('},')])
# 再通過key取出value即可
print(d['author'])


注釋


d = dict([s.split('={') for s in str.split('},')])
# 以上代碼可以轉化為下面這樣看起來清楚了許多,
one = str.split('},')
for s in one:
    two = s.split('={')
    print(two)

  • 列表轉字典

  • 還有一種方法:正則表達式,不太會...


補充官方文檔注釋:

  • 大概意思:括號第一個參數: 用戶規定的分隔符,第二個參數: 分隔長度. 返回的是一個list列表.如果第一個參數沒有的話那么任何一個例如 空格、換行(\n)、制表符(\t)就作為一個分隔符來分隔字符串,並以列表list的形式返回給調用者.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM