如何提取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)容提出來,結果是一個列表['1, 0.123', '2, 0.234']
2. 在用字符串分割函數(shù)將列表中每個值按', '分割,即split(', '),將分割后的每一項轉換成數(shù)值類型。
整個例子如下:

python字符串中括號內(nèi)提取數(shù)字
1. 使用字符串切片方式
str1 = '擁有(220755)人評價' # 將str1中數(shù)字部分提取出來 result = str1[3:9] 運行結果--->220755
注意:結果是可以提取出數(shù)字,不過這樣的方式不具備靈活性。
例如當我字符串是'擁有(2207)人評價',以上代碼就需要修改。這個方法顯然不可行!
2. 使用filter函數(shù)
str1 = '擁有(220755)人評價' result = filter(str.isdigit, str1) result_list = list(result) result_str = "".join(result_list) 運行結果--->220755
注意:此方法用到filter函數(shù),同時需要轉為列表輸出,不能直接打印result
3. 正則表達式
import re str1 = '擁有(220755)人評價' result = re.match(r'.*[(](\d+)[)].*$', str1) print(result.group(1)) 運行結果--->220755
注意:
使用正則表達式時當遇到字符串本身就有括號的需要注意,當直接打括號時系統(tǒng)會認為這是在分組,所以可以需要使用[]的形式來解決這個問題
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python實現(xiàn)簡單的socket server實例
這篇文章主要介紹了python實現(xiàn)簡單的socket server的方法,實例分析了Python中socket的操作技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
window11系統(tǒng)下Python3.11安裝numpy庫超詳細教程
這篇文章主要給大家介紹了關于window11系統(tǒng)下Python3.11安裝numpy庫的相關資料,NumPy是Python的第三方擴展包,但它并沒有包含在Python標準庫中,因此您需要單獨安裝它,需要的朋友可以參考下2023-12-12
詳解Python使用apscheduler定時執(zhí)行任務
在平常的工作中幾乎有一半的功能模塊都需要定時任務來推動,例如項目中有一個定時統(tǒng)計程序,定時爬出網(wǎng)站的URL程序,定時檢測釣魚網(wǎng)站的程序等等,都涉及到了關于定時任務的問題,所以就找到了python的定時任務模塊2022-03-03

