如何提取python字符串括號中的內(nèi)容
提取python字符串括號中的內(nèi)容
一些數(shù)據(jù)按字符串保存,如str1 = '(1, 0.123) (2, 0.234)',當我們需要將字符串中的數(shù)據(jù)提取出來進行計算時,涉及只提出括號中的內(nèi)容,此時可采取用Python re正則表達式模塊和split()函數(shù)完成,操作過程略復雜。
有更簡潔方法時再更新。
1. 首先用
re.findall(r'[(](.*?)[)]', str1)
將括號的內(nèi)容提出來,結(jié)果是一個列表['1, 0.123', '2, 0.234']
2. 在用字符串分割函數(shù)將列表中每個值按', '分割,即split(', '),將分割后的每一項轉(zhuǎn)換成數(shù)值類型。
整個例子如下:

python字符串中括號內(nèi)提取數(shù)字
1. 使用字符串切片方式
str1 = '擁有(220755)人評價' # 將str1中數(shù)字部分提取出來 result = str1[3:9] 運行結(jié)果--->220755
注意:結(jié)果是可以提取出數(shù)字,不過這樣的方式不具備靈活性。
例如當我字符串是'擁有(2207)人評價',以上代碼就需要修改。這個方法顯然不可行!
2. 使用filter函數(shù)
str1 = '擁有(220755)人評價' result = filter(str.isdigit, str1) result_list = list(result) result_str = "".join(result_list) 運行結(jié)果--->220755
注意:此方法用到filter函數(shù),同時需要轉(zhuǎn)為列表輸出,不能直接打印result
3. 正則表達式
import re str1 = '擁有(220755)人評價' result = re.match(r'.*[(](\d+)[)].*$', str1) print(result.group(1)) 運行結(jié)果--->220755
注意:
使用正則表達式時當遇到字符串本身就有括號的需要注意,當直接打括號時系統(tǒng)會認為這是在分組,所以可以需要使用[]的形式來解決這個問題
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Dockerfile構(gòu)建一個Python Flask 鏡像
這篇文章主要介紹了Dockerfile構(gòu)建一個Python Flask 鏡像,對正在學習的你有一定的參考價值,需要的小伙伴可以參考一下2022-01-01
Python如何創(chuàng)建裝飾器時保留函數(shù)元信息
這篇文章主要介紹了Python如何創(chuàng)建裝飾器時保留函數(shù)元信息,文中講解非常細致,幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-08-08
Python操作MySQL數(shù)據(jù)庫的簡單步驟分享
這篇文章主要給大家介紹了關(guān)于Python操作MySQL數(shù)據(jù)庫的簡單步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04

