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

python中split() 和 strip()函數(shù)的結(jié)合使用

 更新時間:2026年04月17日 09:32:52   作者:林深時見鹿1  
本文主要介紹了Python中strip()和split()這兩個字符串處理函數(shù),并在實際開發(fā)中這兩個函數(shù)常結(jié)合使用,解決字符串清洗與拆分問題,感興趣的可以了解一下

一、strip () 函數(shù):清理字符串首尾的 “多余字符”

1. 核心作用

strip() 是字符串的成員方法,用于刪除字符串開頭和結(jié)尾的指定字符(默認(rèn)刪除空格、換行符 \n、制表符 \t、回車符 \r 等空白字符),不會改變字符串中間的內(nèi)容。

2. 語法與參數(shù)

str.strip([chars]) 
  • 參數(shù)chars(可選)→ 字符串類型,指定要刪除的字符集合(不是固定字符串,而是 “只要首尾出現(xiàn)集合中的任意字符就刪除”);
  • 返回值:新的字符串(原字符串不變,Python 字符串是不可變類型);
  • 衍生方法
    • lstrip():只刪除開頭的指定字符;
    • rstrip():只刪除結(jié)尾的指定字符。

3. 基礎(chǔ)示例(默認(rèn)刪除空白符)

# 原始字符串(首尾有空格、換行符,中間有空格)
s = "  \t  Hello World\n  "
print(f"原始字符串(帶占位符):[{s}]")  # 用[]包裹更易看出空白
# strip():刪除首尾所有空白符
s_stripped = s.strip()
print(f"strip() 處理后:[{s_stripped}]")  # [Hello World]
# lstrip():只刪開頭空白
s_lstripped = s.lstrip()
print(f"lstrip() 處理后:[{s_lstripped}]")  # [Hello World
                                             #   ]
# rstrip():只刪結(jié)尾空白
s_rstripped = s.rstrip()
print(f"rstrip() 處理后:[{s_rstripped}]")  # [ 	  Hello World]

輸出:

原始字符串(帶占位符):[        Hello World
  ]
strip() 處理后:[Hello World]
lstrip() 處理后:[Hello World
  ]
rstrip() 處理后:[        Hello World]

4. 進(jìn)階示例(指定刪除的字符)

chars 參數(shù)是 “字符集合”,不是固定字符串,會逐個匹配首尾的字符并刪除,直到遇到不在集合中的字符為止。

# 示例1:刪除首尾的指定字符(數(shù)字+下劃線)
s1 = "__123Python678__"
s1_stripped = s1.strip("_0123456789")
print(f"s1 處理后:{s1_stripped}")  # Python
# 示例2:刪除首尾的特定符號(注意:字符順序不影響)
s2 = "###@@@Hello@@@###"
s2_stripped = s2.strip("#@")  # 只要是#或@,首尾都刪
print(f"s2 處理后:{s2_stripped}")  # Hello
# 示例3:中間的字符不會被刪
s3 = "aabbaHelloabbaa"
s3_stripped = s3.strip("ab")
print(f"s3 處理后:{s3_stripped}")  # Hello

5. 常見坑點

誤區(qū) 1:strip("abc") 不是刪除首尾的 “abc” 字符串,而是刪除首尾的 a/b/c 任意字符;

s = "abc123abc"
print(s.strip("abc"))  # 123(正確),而非 123abc(誤區(qū))

誤區(qū) 2:strip() 會修改原字符串 → 錯誤,Python 字符串不可變,所有字符串方法都返回新字符串;

s = "  test  "
s.strip()
print(s)  # 仍為 "  test  ",需重新賦值:s = s.strip()

二、split () 函數(shù):拆分字符串為列表

1. 核心作用

split() 是字符串的成員方法,用于將字符串按指定的分隔符拆分成一個列表,拆分后分隔符會被丟棄。

2. 語法與參數(shù)

str.split(sep=None, maxsplit=-1) 
  • 參數(shù) 1sep(可選)→ 分隔符,字符串類型;默認(rèn) None(按任意空白符拆分,多個連續(xù)空白符視為一個);
  • 參數(shù) 2maxsplit(可選)→ 最大拆分次數(shù),整數(shù)類型;默認(rèn) -1(無限制,拆分所有符合條件的位置);
  • 返回值:拆分后的字符串列表。

3. 基礎(chǔ)示例(默認(rèn)按空白符拆分)

當(dāng) sep=None 時,會自動忽略多個連續(xù)的空白符(空格、\n、\t 等),只拆分有效內(nèi)容。

# 示例1:多個連續(xù)空格
s1 = "Python Java C++  Go"
print(s1.split())  # ['Python', 'Java', 'C++', 'Go']
# 示例2:混合空白符(空格+制表符+換行符)
s2 = "a\tb  c\nd"
print(s2.split())  # ['a', 'b', 'c', 'd']
# 示例3:空字符串拆分(返回只含原字符串的列表)
s3 = ""
print(s3.split())  # [](注意:空字符串按默認(rèn)拆分返回空列表)

4. 進(jìn)階示例(指定分隔符)

(1)指定單個分隔符

# 示例1:按逗號拆分(CSV數(shù)據(jù)常用)
s4 = "張三,28,銷售,8000"
print(s4.split(","))  # ['張三', '28', '銷售', '8000']
# 示例2:按固定字符串拆分(不是字符集合)
s5 = "Python|Java|C++|Go"
print(s5.split("|"))  # ['Python', 'Java', 'C++', 'Go']
# 示例3:分隔符不存在(返回只含原字符串的列表)
s6 = "HelloWorld"
print(s6.split(","))  # ['HelloWorld']

(2)指定最大拆分次數(shù)(maxsplit)

# 示例1:maxsplit=2(只拆分前2個分隔符)
s7 = "a,b,c,d,e"
print(s7.split(",", maxsplit=2))  # ['a', 'b', 'c,d,e']
# 示例2:maxsplit=0(不拆分)
print(s7.split(",", maxsplit=0))  # ['a,b,c,d,e']

5. 衍生方法:rsplit ()

rsplit()split() 功能一致,但 maxsplit從右往左拆分:

s8 = "a,b,c,d,e"
print(s8.split(",", maxsplit=2))   # ['a', 'b', 'c,d,e'](從左拆)
print(s8.rsplit(",", maxsplit=2))  # ['a,b,c', 'd', 'e'](從右拆)

6. 常見坑點

誤區(qū) 1:拆分后分隔符保留 → 錯誤,分隔符會被完全丟棄;

s = "1-2-3"
print(s.split("-"))  # ['1','2','3'](無分隔符)

誤區(qū) 2:按空字符串拆分 → 報錯(ValueError: empty separator);

# s.split("")  # 直接報錯,如需逐個字符拆分用 list(s)
s = "abc"
print(list(s))  # ['a','b','c'](正確方式)

誤區(qū) 3:拆分含空白的字段(如 CSV 中 張三, 28)→ 需結(jié)合 strip() 清洗;

s9 = "張三, 28, 銷售, 8000"
# 先拆分,再逐個清洗首尾空格
result = [item.strip() for item in s9.split(",")]
print(result)  # ['張三', '28', '銷售', '8000']

三、split () + strip () 組合使用(實戰(zhàn)高頻場景)

實際開發(fā)中,這兩個函數(shù)常結(jié)合使用,解決 “字符串有多余空白 + 需要拆分” 的問題,比如解析日志、清洗爬蟲數(shù)據(jù):

示例 1:解析日志字符串

# 原始日志(首尾有空格,分隔符是多個空格+|)
log = "  2026-03-01 |  INFO  |  用戶登錄成功  "
# 步驟1:清理首尾空白 → 步驟2:按|拆分 → 步驟3:清洗每個字段的空白
log_clean = [item.strip() for item in log.strip().split("|")]
print(log_clean)  # ['2026-03-01', 'INFO', '用戶登錄成功']

示例 2:清洗用戶輸入的多值內(nèi)容

# 用戶輸入(用逗號/空格混合分隔,首尾有空白)
user_input = "  Python, Java  , C++ | Go  "
# 先統(tǒng)一替換非逗號分隔符為逗號,再清洗+拆分
input_clean = user_input.strip().replace(" | ", ",").replace(" ", "")
result = input_clean.split(",")
print(result)  # ['Python', 'Java', 'C++', 'Go']

總結(jié)

核心要點回顧

  1. strip () 系列

    • 作用:刪除字符串首尾的指定字符(默認(rèn)空白符),中間字符不受影響;
    • 衍生:lstrip()(刪開頭)、rstrip()(刪結(jié)尾);
    • 注意:chars 是字符集合,不是固定字符串,且不修改原字符串。
  2. split () 系列

    • 作用:按指定分隔符拆分字符串為列表,分隔符會被丟棄;
    • 默認(rèn):sep=None 按任意空白符拆分(多個空白視為一個);
    • 衍生:rsplit() 從右往左拆分,適合指定 maxsplit 的場景;
    • 注意:不能按空字符串拆分,拆分含空白的字段需結(jié)合 strip()。
  3. 組合使用:拆分前先用 strip() 清理首尾空白,拆分后用列表推導(dǎo)式 +strip() 清洗每個字段,是文本清洗的標(biāo)準(zhǔn)流程。

到此這篇關(guān)于python中split() 和 strip()函數(shù)的結(jié)合使用的文章就介紹到這了,更多相關(guān)python split() strip()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)的排列組合、破解密碼算法示例

    Python實現(xiàn)的排列組合、破解密碼算法示例

    這篇文章主要介紹了Python實現(xiàn)的排列組合、破解密碼算法,結(jié)合實例形式分析了Python排列組合、密碼破解相關(guān)數(shù)學(xué)運算操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python二叉樹初識(新手也秒懂!)

    Python二叉樹初識(新手也秒懂!)

    二叉樹是一種簡單的樹形結(jié)構(gòu),其每個節(jié)點的分支節(jié)點數(shù)有0,1或2個,下面這篇文章主要給大家介紹了關(guān)于Python二叉樹的相關(guān)資料,本文介紹的非常通俗易懂,新手也秒懂,需要的朋友可以參考下
    2022-05-05
  • python虛擬環(huán)境virtualenv的安裝與使用

    python虛擬環(huán)境virtualenv的安裝與使用

    virtualenv用于創(chuàng)建獨立的Python環(huán)境,多個Python相互獨立,互不影響,它能夠:1. 在沒有權(quán)限的情況下安裝新套件 2. 不同應(yīng)用可以使用不同的套件版本 3. 套件升級不影響其他應(yīng)用
    2017-09-09
  • Python中使用異常處理來判斷運行的操作系統(tǒng)平臺方法

    Python中使用異常處理來判斷運行的操作系統(tǒng)平臺方法

    這篇文章主要介紹了Python中使用異常處理來判斷運行的操作系統(tǒng)平臺方法,這個方法比較新穎,,需要的朋友可以參考下
    2015-01-01
  • Python中將變量按行寫入txt文本中的方法

    Python中將變量按行寫入txt文本中的方法

    下面小編就為大家分享一篇Python中將變量按行寫入txt文本中的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Windows環(huán)境下Python3.6.8 importError: DLLload failed:找不到指定的模塊

    Windows環(huán)境下Python3.6.8 importError: DLLload failed:找不到指定的模塊

    這篇文章主要介紹了Windows環(huán)境下Python3.6.8 importError: DLLload failed:找不到指定的模塊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 通過gradio和攝像頭獲取照片和視頻實現(xiàn)過程

    通過gradio和攝像頭獲取照片和視頻實現(xiàn)過程

    這篇文章主要為大家介紹了gradio和攝像頭獲取照片和視頻實現(xiàn)過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • python實現(xiàn)移位加密和解密

    python實現(xiàn)移位加密和解密

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)移位加密和解密,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 基于Python實現(xiàn)PPT合并小工具

    基于Python實現(xiàn)PPT合并小工具

    在日常工作和學(xué)習(xí)中,如果需要將多個PPT文件合并成一個文件,手動操作可能會非常繁瑣和耗時,所以本文將使用Python制作一個簡單的PPT合并小工具,希望對大家有所幫助
    2024-01-01
  • Tensorflow之Saver的用法詳解

    Tensorflow之Saver的用法詳解

    本篇文章主要介紹了Tensorflow之Saver的用法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論

随州市| 汾西县| 托里县| 东乡族自治县| 含山县| 汤原县| 兴文县| 福鼎市| 义马市| 红原县| 西充县| 达州市| 怀远县| 湛江市| 玉龙| 高雄市| 南投县| 牙克石市| 济南市| 固阳县| 陆良县| 蒙城县| 瑞金市| 合作市| 云和县| 喜德县| 交口县| 苏尼特右旗| 银川市| 根河市| 穆棱市| 类乌齐县| 靖宇县| 濮阳市| 宣武区| 孙吴县| 女性| 根河市| 大埔区| 浪卡子县| 桐庐县|