奇技淫巧 - Python分割字符串的5個示例

2021-03-02 Linux公社
在這個Python教程中,我們將學習Python split()字符串函數。與len()不同,有些函數是特定於字符串的。要使用字符串函數,輸入字符串的名稱、dot、函數的名稱和函數需要的所有參數:string.function(arguments)。可以使用內置的string split()函數根據分隔符將字符串分解為一組更小的字符串。string.split([separator[, maxsplit]])

separator 是分隔符字符串

如果指定了maxsplit,則最多完成maxsplit分割(因此,列表最多包含maxsplit + 1個元素)

如果沒有指定maxsplit或-1,那麼拆分的數量就沒有限制(所有可能的拆分都進行了)。

如果separator指定,則連續的分隔符不會分組在一起,並被視為定界空字符串(例如,'1,,2'.split(',') 返回 ['1', '', '2'])

如果separator未指定或為None,則連續的空白行將被視為單個分隔符,並且如果字符串具有前導或尾隨空格,則結果在開頭或結尾將不包含空字符串。例如,' 1 2 3 '.split()返回['1', '2', '3']

示例1:使用空格分割字符串

在這個示例腳本中,我們將使用空格作為分隔符將包含字符串的句子分割成多個子字符串。如果沒有要定義的分隔符,那麼可以只提供split(),它在默認情況下將分隔符視為None。

#!/usr/bin/env python3

mystring = "This is Python Tutorial linuxmi"

print(type(mystring)) ## This will return type as string
newstring = mystring.split() ## split the string and store into newstring var
print(newstring) ## print the content of newstring
print(type(newstring)) ## the new type would be list after splitting

該腳本的輸出:

<class 'str'>
['This', 'is', 'Python', 'Tutorial', 'linuxmi']
<class 'list'>

string.split()將在傳遞的參數上拆分和分割字符串,並返回列表中的所有部分。該列表將不包括分割字符。

示例2:使用逗號作為分隔符

在這個例子中,我們將定義一個分隔符逗號( , ),並將字符串分割成列表

#!/usr/bin/env python3

mystring = "abc,def,linuxmi"

print(type(mystring)) ## This will return type as string
newstring = mystring.split(',') ## split the string using ',' and store into newstring var
print(newstring) ## print the content of newstring
print(type(newstring)) ## the new type would be list after splitting

<class 'str'>
['abc', 'def', 'linuxmi']
<class 'list'>所以這次使用逗號分隔輸出,因為我們使用了string.split(,)。類似地,您可以使用任何其他字符來分割字符串。默認情況下,如果您沒有指定分割限制,那麼所有可能的值將從提供的字符串中分割。在這個例子中,我們將maxlimit定義為1,這樣在第一次拆分之後,Python將忽略其餘的分隔符。

#!/usr/bin/env python3

mystring = "abc,def,ghi,tre,linuxmi.com"

print(type(mystring)) ## This will return type as string

## split the string using sep=',' with maxlimit=1 and store into newstring var
newstring = mystring.split(',',1)

print(newstring) ## print the content of newstring
print(type(newstring)) ## the new type would be list after splitting

<class 'str'>
['abc', 'def,ghi,tre,linuxmi.com']
<class 'list'>從輸出中可以看到,我們的字符串被分為兩部分,在第一個分隔符匹配之後,所有其他逗號都將被忽略。該split()方法將字符串在找到空格的任何地方分成幾部分,並將字符串的所有部分存儲在列表中。結果是字符串中的單詞列表,儘管某些單詞可能還會出現標點符號。我們將使用split()來計算「/usr/share/doc/grep/README」文件中的單詞數量。你可以忽略try和except塊,如果你還不熟悉它,可以專注於我正在執行實際任務的else塊:

#!/usr/bin/env python3
filename = '/usr/share/doc/grep/README'

try:
with open(filename, encoding='utf-8') as f:
contents= f.read()
except FileNotFoundError:
print(f'Sorry, the file {filename} does not exits')
else:
words = contents.split()
num_words = len(words)
print(f'The file {filename} has about {num_words} words.')

The file /usr/share/doc/grep/README has about 372 words.linuxmi@linuxmi:~/www.linuxmi.com$ wc -w /usr/share/doc/grep/README
372 /usr/share/doc/grep/README因此,我們的腳本和wc的輸出是相同的,這意味著split()成功地分隔了單詞。示例5:使用一個帶有for循環的line分割字符串在這個例子中,我們將使用一個line代碼來分割字符串並列印超過5個字符的單詞。

#!/usr/bin/env python3

mystring = 'linuxmi.com we are testing python split strin'

## One-Liner
w = [[x for x in line.split() if len(x)>5] for line in mystring.split('\n')]

## Result
print(w)

x for x in line.split() if len(x)>5使用字符串split()函數將給定的行劃分為單詞序列。我們遍歷所有單詞x,如果它們的字符數超過5個,則將它們添加到列表中。外部列表理解表達式創建上一條語句中使用的字符串行。再次,它使用split()函數mystring在換行符上分割'\n'。[['linuxmi.com', 'testing', 'python']]在本教程中,我們學習了如何string.split()使用不同的示例。我們可以將split與regex結合使用以添加更強大的功能,這些功能將在以後的教程中介紹。在這裡,涵蓋了在不同情況下將其與字符串一起使用的5個示例。

...END...

長按或掃描下面的二維碼關注Linux公社


關注Linux公社,添加「星標」

每天獲取技術乾貨,讓我們一起成長

合作聯繫微信:linuxgs

相關焦點

  • Python字符串的45個方法詳解
    描述:根據指定的分隔符(sep)將字符串進行分割。列表索引的用法。示例:#默認空格分割str1 = "I love python"str1.split()['I', 'love', 'python']#取第三位str1.split()[2]'python'#以"."
  • 站長在線Python精講:在Python中使用正則表達式的split()方法分割字符串詳解
    68個 歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《在Python中使用正則表達式的split()方法分割字符串詳解》。
  • Python-字符串方法
    字符串裡面的一些方法也是很有意思的,我們一個一個方法去看,看完這個篇文章希望大家都應該去掌握。find方法我們看第一個方法叫做find方法,這個是小寫,記住全部小寫。find方法是在可以在一個較長的字符串裡邊查找子串,返回子串所在的位置。
  • 【Python 第28課】 字符串的分割
  • 【python速查系列】字符串系列使用速查--分割
    」字符串的分割也是我們日常生活中常用的,本篇提供一些常用方法的實例,方便大家用到的時候查詢。字符串的分割,通常有split 和partition 系列方法。split 系列split 系列方法包括split() 、rsplit() 、splitlines() 等。
  • 【Python字符串操作】字符串分割函數
    python為我們提供了字符串切割函數,它不僅可以通過指定字符切割,也可以去除空格符哦。1.split()語法:str.split(str=' ', num=string.count(str))描述:通過指定分隔符對字符串進行切片,如果參數num有指定值,則僅分隔num個子字符串
  • 13-python中的字符串
    駐留機制分為以下幾種情況(需要在交互模式下驗證)字符串的長度為0或1時符合標識符的字符串字符串只在編譯時進行駐留,並不是在運行時[-5, 256]之間的整數數字sys函數中的intern方法會強制兩個字符串指向同一個對象,而pycharm工具會對字符串進行優化處理。
  • Python中的字符串處理方法
    原來的字符串還是原來的字符串,它本身並沒有變。a = "abc"b = 1print(a + b)Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/python基礎/test.py", line 3, in <module>
  • Python字符串常用操作命令
    )5string.count("study")04.replace 將字符串中指定的字符串用其它字符串進行替換string = "i love python very much "result1 = string.replace("python
  • Python split()方法詳解:分割字符串
    從本節開始,將給大家介紹一些常用的字符串類型方法,本節先介紹分割字符串的 split() 方法。split() 方法可以實現將一個字符串按照指定的分隔符切分成多個子串,這些子串會被保存到列表中(不包含分隔符),作為方法的返回值反饋回來。
  • Python字符串處理的8招秘籍
    Python的字符串處理,在爬蟲的數據解析、大數據的文本清洗,以及普通文件處理等方面應用非常廣泛,而且Python對字符串的處理內置了很多高效的函數,功能非常強大、使用非常方便。今天我就把字符串處理時用到最多的方法總結分享給大家,希望大家可以輕鬆應對字符串處理。
  • 一文詳解Python字符串條件判斷方法
    實現的過程中,需要判斷一個字符串是否為數字,幾乎條件反射地,打算自己實現一個從0-9的字符串list,然後判斷字符是否在裡面。我大可以說,這個是粗心,就和考試的時候一樣,問什麼數字平方等於4,我只寫了個2,然後因此丟了-2那半分,但我知道,這其實就是基礎不夯實的體現。是一種憑藉直接經驗獲取知識的思維方式。畢竟python字符串判斷方法,在日常開發中,用的比較少,因此被我忽視掉了。為了避免以後再犯類似的錯誤,就趁此機會撿起爛筆頭。總結一下該知識點,防止以後再忘記。
  • Python3的字符串類型(瘋狂Python)
    字符串格式化4.2.6 Python自帶兩個幫助函數4.2.7 刪除多餘空白4.2.8 字符串的查找,替換4.2.9 字符串的分割,連接方法4.2.9轉換浮點數的寬度可以用%6.3f,感興趣可以自己試一下python中字符串還支持用in運算符判斷是否包含某個子串,還有獲取字符串的長度,用內置len()函數,還可以用min()和max()函數獲取字符串中最小字符和最大字符In [43]: ah = 'This is has
  • 10 個 Python 字符串處理技巧
    那麼可以通過這個字符串處理入門教程,來了解一下利用Python處理字符串的一些基本操作。當前,自然語言處理和文本分析是研究和應用的熱點領域。這些領域包括各種具體的技能和概念,在深入具體實踐之前需要對它們有徹底的理解,為此,必須掌握一些基本的字符串操作和處理技巧。在我看來,必須掌握兩種字符串處理技巧:首先是正則表達式,一種基於模式的文本匹配方法。
  • 站長在線Python精講:在Python中使用split()方法分割、使用join()方法合併字符串詳解
    67個 本知識點主要內容有:在Python中使用split()方法分割字符串和在Python中使用join()方法合併字符串。在Python中,字符串對象提供了分割和合併字符串的方法。分割字符串是把字符串分割為列表,而合併字符串是把列表合併為字符串,它們可以看作是互逆操作。下面分別進行介紹。
  • Python字符串總結
    @Author :RunsenPython字符串總結什麼字符串字符串是由獨立字符組成的一個序列,通常包含在單引號(『 』),雙引號(」「)三引號(''' ''')s1'\n',表示一個字符——換行符;'\t'也表示一個字符,四個空格字符 a,換行,字符 b,然後制表符,最後列印字符 c 最後列印的輸出橫跨了兩行,但是整個字符串 s 仍然只有 5常用操作name = 'jason'name[0]
  • Python字符串拼接(包含字符串拼接數字)
    使用這種寫法,Python 會自動將兩個字符串拼接在一起。【示例】以連續書寫的形式拼接字符串:str1 = "Python教程" "http://c.biancheng.net/python/"print(str1)str2 = "Java" "Python" "C++" "PHP"print(str2)運行結果:Python教程http:/
  • python基礎學習—04字符串與編碼
    三、python源文件編碼3.1  python2.x在python2.x中,python源文件默認使用ASCII碼格式編碼,因此默認情況下是不支持中文的。類型轉換時使用utf8編碼4.5  str與Unicode互轉將str轉為Unicode,其中參數unicode-escape是編碼格式,示例代碼如下:>>>'覃原'.encode('unicode-escape')b'\\u8983\\u539f'將Unicode轉為str,示例代碼如下:
  • python基礎之字符串處理
    python日常處理字符串較多,本文總結一下Python的日常使用,包括字符串的替換、刪除、截取、複製、連接、比較、查找、包含、大小寫轉換、分割等
  • 秘籍:10個Python字符串處理技巧(附代碼)
    list=PLtmWHNX-gukKocXQOkQjuVxglSDYWsSh9&t=630另一個必備的字符串處理技能是:能夠利用給定程式語言的標準庫進行基本的字符串操作。為此,本文便是一個簡短的Python字符串處理入門教程,旨在為那些以文本分析作為職業的人士尋求更為深入的研究,拋磚引玉。想對公司所有的文本有深入理解,發掘出其中的價值嗎?