最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從基礎到進階詳解Python中字符串分割的常見方法

 更新時間:2026年04月15日 08:16:04   作者:detayun  
字符串分割是編程中常見的操作,本文全面介紹了Python中的字符串分割方法,涵蓋基礎操作和高級技巧,希望可以幫助大家掌握Python字符串分割的技巧

字符串分割是編程中常見的操作,無論是處理日志文件、解析CSV數(shù)據(jù),還是提取URL參數(shù),都需要用到字符串分割。Python提供了多種字符串分割方法,包括基礎的split()、rsplit()、partition(),以及更強大的正則表達式re.split()。本文將詳細介紹這些方法,并給出實際案例,幫助你掌握Python字符串分割的技巧。

1. 基礎字符串分割方法

1.1str.split()—— 最常用的分割方法

split() 是Python字符串最常用的分割方法,默認按空格分割,也可以指定分隔符。

語法

str.split(sep=None, maxsplit=-1)
  • sep:分隔符,默認為None(按空格分割)。
  • maxsplit:最大分割次數(shù),默認為-1(不限制)。

示例

s = "apple banana orange"
print(s.split())  # 默認按空格分割
# 輸出: ['apple', 'banana', 'orange']

s = "apple,banana,orange"
print(s.split(','))  # 按逗號分割
# 輸出: ['apple', 'banana', 'orange']

s = "apple,banana,orange,grape"
print(s.split(',', maxsplit=2))  # 最多分割2次
# 輸出: ['apple', 'banana', 'orange,grape']

1.2str.rsplit()—— 從右向左分割

rsplit()split() 類似,但從右向左分割,適用于需要從字符串末尾開始分割的情況。

示例

s = "apple,banana,orange,grape"
print(s.rsplit(',', maxsplit=1))  # 從右向左最多分割1次
# 輸出: ['apple,banana,orange', 'grape']

1.3str.partition()—— 分割成3部分

partition() 將字符串按第一個匹配的分隔符分割成3部分:

  • 分隔符左邊的部分
  • 分隔符本身
  • 分隔符右邊的部分

語法

str.partition(sep)

sep:分隔符,必須指定。

示例

s = "apple,banana,orange"
left, sep, right = s.partition(',')
print(left, sep, right)
# 輸出: apple , banana,orange

str.rpartition()

rpartition()partition() 類似,但從右向左分割。

2. 高級字符串分割方法

2.1str.splitlines()—— 按行分割

splitlines()換行符\n、\r\r\n)分割字符串,適用于處理多行文本。

示例

s = "Hello\nWorld\nPython"
print(s.splitlines())
# 輸出: ['Hello', 'World', 'Python']

2.2re.split()—— 正則表達式分割

re.split() 使用正則表達式進行分割,適用于復雜分隔符(如多個不同字符)。

語法

import re
re.split(pattern, string, maxsplit=0, flags=0)
  • pattern:正則表達式分隔符。
  • maxsplit:最大分割次數(shù),默認為0(不限制)。
  • flags:正則標志(如re.IGNORECASE)。

示例

(1) 按多個不同字符分割

import re

s = "apple,banana;orange|grape"
parts = re.split(r'[,;|]', s)  # 按逗號、分號、豎線分割
print(parts)
# 輸出: ['apple', 'banana', 'orange', 'grape']

(2) 按連續(xù)空格分割

s = "apple   banana  orange"
parts = re.split(r'\s+', s)  # 按1個或多個空格分割
print(parts)
# 輸出: ['apple', 'banana', 'orange']

(3) 保留分隔符(使用捕獲組)

s = "appleDBbananaDBorange"
parts = re.split(r'(DB)', s)  # 使用捕獲組 (DB) 保留分隔符
print(parts)
# 輸出: ['apple', 'DB', 'banana', 'DB', 'orange']

(4) 過濾掉分隔符

s = "appleDBbananaDBorange"
parts = [part for part in re.split(r'(DB)', s) if part != 'DB']  # 過濾掉 DB
print(parts)
# 輸出: ['apple', 'banana', 'orange']

3. 實際應用案例

案例1:解析CSV數(shù)據(jù)

import re

csv_data = "Name,Age,City\nAlice,25,New York\nBob,30,London"
lines = csv_data.splitlines()  # 按行分割
for line in lines[1:]:  # 跳過標題行
    fields = re.split(r',(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)', line)  # 處理帶引號的CSV
    print(fields)
# 輸出:
# ['Alice', '25', 'New York']
# ['Bob', '30', 'London']

案例2:提取URL參數(shù)

import re

url = "https://www.example.com/search?q=python&lang=en&page=1"
query = url.split('?')[1]  # 提取查詢部分
params = re.split(r'&', query)  # 按 & 分割參數(shù)
print(params)
# 輸出: ['q=python', 'lang=en', 'page=1']

案例3:分割日志文件

log = "2023-01-01 12:00:00 ERROR: File not found"
date, time, level, message = log.split(' ', maxsplit=3)  # 最多分割3次
print(date, time, level, message)
# 輸出: 2023-01-01 12:00:00 ERROR: File not found

4. 總結

方法適用場景示例
str.split()簡單分割(空格、逗號等)"a,b,c".split(',')['a', 'b', 'c']
str.rsplit()從右向左分割"a,b,c".rsplit(',', 1)['a,b', 'c']
str.partition()分割成3部分"a,b,c".partition(',')('a', ',', 'b,c')
str.splitlines()按行分割"a\nb\nc".splitlines()['a', 'b', 'c']
re.split()復雜分隔符(正則)`re.split(r’[,;

最佳實踐

  1. 簡單分割split()rsplit()
  2. 需要保留分隔符partition()re.split(r'(...)', ...)。
  3. 復雜分隔符(如多個不同字符)用 re.split()
  4. 處理多行文本splitlines()。

掌握這些方法后,你可以輕松應對各種字符串分割需求!

到此這篇關于從基礎到進階詳解Python中字符串分割的常見方法的文章就介紹到這了,更多相關Python字符串分割內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python實時監(jiān)控logstash日志代碼

    python實時監(jiān)控logstash日志代碼

    這篇文章主要介紹了python實時監(jiān)控logstash日志代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python?3行代碼提取音樂高潮部分

    Python?3行代碼提取音樂高潮部分

    這篇文章主要介紹了利用Python代碼提取音樂高潮部分,文章圍繞Python代碼的相關詳情展開提取音樂的內容,需要的小伙伴可以參考一下
    2022-01-01
  • 使paramiko庫執(zhí)行命令時在給定的時間強制退出功能的實現(xiàn)

    使paramiko庫執(zhí)行命令時在給定的時間強制退出功能的實現(xiàn)

    這篇文章主要介紹了使paramiko庫執(zhí)行命令時,在給定的時間強制退出,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • python實現(xiàn)21點小游戲

    python實現(xiàn)21點小游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)21點小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Flask使用SocketIO實現(xiàn)WebSocket與Vue進行實時推送

    Flask使用SocketIO實現(xiàn)WebSocket與Vue進行實時推送

    本文主要介紹了Flask使用SocketIO實現(xiàn)WebSocket與Vue進行實時推送,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Python實現(xiàn)批量將word轉換成pdf

    Python實現(xiàn)批量將word轉換成pdf

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)批量將word文檔轉換成pdf文件,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-08-08
  • python通過安裝itchat包實現(xiàn)微信自動回復收到的春節(jié)祝福

    python通過安裝itchat包實現(xiàn)微信自動回復收到的春節(jié)祝福

    這篇文章主要介紹了python通過安裝itchat包實現(xiàn)微信自動回復收到的春節(jié)祝福,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-01-01
  • Python中Jupyter notebook快捷鍵總結

    Python中Jupyter notebook快捷鍵總結

    在本篇文章里小編給大家整理的是一篇關于Python中Jupyter notebook快捷鍵總結內容,有興趣的朋友們可以學習下。
    2021-04-04
  • Python3 pandas 操作列表實例詳解

    Python3 pandas 操作列表實例詳解

    這篇文章主要介紹了Python3 pandas 操作列表實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python 內置函數(shù)速查表一覽

    Python 內置函數(shù)速查表一覽

    這篇文章主要介紹了Python 內置函數(shù)速查表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論

登封市| 商都县| 山东| 怀化市| 临澧县| 德令哈市| 蕲春县| 尤溪县| 西安市| 镇平县| 鄱阳县| 宁强县| 肥乡县| 贵定县| 印江| 鹿邑县| 库车县| 永和县| 吉安市| 上蔡县| 周口市| 万宁市| 西乌珠穆沁旗| 涟水县| 锡林浩特市| 抚松县| 涡阳县| 安图县| 法库县| 轮台县| 乐陵市| 阳春市| 辽源市| 盈江县| 甘南县| 墨脱县| 徐汇区| 罗田县| 台中县| 新民市| 宜章县|