Python字符串截取值
生活随笔
收集整理的這篇文章主要介紹了
Python字符串截取值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接口返回一個json。json中又包含字符串,字符串又存在編碼,那么我們該怎么去截取出想要的各種值呢 ?
接下來就記錄一下如何從已經弄出來的字符串中截取想要的結果:
目標:從這個字符串中截取args值,但是args的值包含多個值,同時還存在編碼
eg: https://www.xxxxxxx.com/new/#/register/h5?ProjectType=0&args=eyJ0ZW5hbnROYW1lIjoiV01TXzUyMF8zODk0Iiwic2hhcmVQYXJhbSI6Im4zNGdDLzR1RnpNTkY0RVl5eWhUY3U4SlNmQ3JCbTExZGpQeE9uQld0Z2wyQXFJQmdFSGpsUT09In0%3d操作步驟如下:
1、先解碼
# __*__coding:utf-8 __*__ import urllib.parse import base64 import json# 字符串S中的參數args是被編碼了的 s = "https://test.xxxxxx.com/new/#/register/h5?ProjectType=0&args=eyJ0ZW5hbnROYW1lIjoiV01TXzUyMF8zODk0Iiwic2hhcmVQYXJhbSI6Im4zNGdDLzR1RnpNTkY0RVl5eWhUY3U4SlNmQ3JCbTExZGpQeE9uQld0Z2wyQXFJQmdFSGpsUT09In0%3d" # 先對字符串S進行解碼 url_parameter_1 = urllib.parse.unquote(s) print("解碼后的url_parameter_1值為:",url_parameter_1)解碼后的結果為:
2、切片
''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 ''' # 通過使用split()來將解碼后的字符串S從字段“args=”進行切片 url_parameter_2 = url_parameter_1.split("args=") print("切片后的url_parameter_2值為:",url_parameter_2) # 查看切片后的url_parameter_2的類型 print("url_parameter_2值的類型為: ",type(url_parameter_2)) # 是一個list類型切片后的結果為 :
3、取值
# 獲取切片后的值 url_parameter_3 = url_parameter_2[1] print("url_parameter_3的值為:",url_parameter_3)取值的結果為:
到這里已經把這一大串仙想要的東西弄出來了,但是他還是經過base64位編碼了的,進行進行解碼:
4、解碼
url_parameter_4 = base64.b64decode(url_parameter_3)解碼后的結果為:
此時獲取到的url_parameter_4的值類型為:bytes,其實是不便于我們獲取shareParam這個值的,
5、轉換類型
''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 ''' url_parameter_5 = json.loads(url_parameter_4) print("轉換類型后的url_parameter_5結果為:",url_parameter_5)轉換后的結果為 :
現在已經是個字典了 ,我們按照獲取字典的值的方法去拿到shareParam的值
6、獲取字典值
url_parameter_6 = url_parameter_5["shareParam"] print(url_parameter_6)獲取的字典值為 :
最終為了省地兒,可以合成這樣一句:
這樣就拿到了我最終想要的這個值,以供其他接口使用
總結
以上是生活随笔為你收集整理的Python字符串截取值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python发送邮件以及对其封装
- 下一篇: Python函数名的第一类对象及使用