1. 程式人生 > >python 分割字串

python 分割字串

      1. string 物件的 split() 方法只適應於非常簡單的字串分割情形,它並不允許有多個分隔符或者是分隔符周圍不確定的空格。當你需要更加靈活的切割字串的時候,最好使用 re.split() 方法:

>>> line = 'asdf fjdk; afed, fjek,asdf, foo'
>>> import re
>>> re.split(r'[;,\s]\s*', line)
['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']
    

     2.當你使用 re.split()

函式時候,需要特別注意的是正則表示式中是否包含一個括號捕獲分組。如果使用了捕獲分組,那麼被匹配的文字也將出現在結果列表中。比如,觀察一下這段程式碼執行後的結果:

>>> fields = re.split(r'(;j,j\s)\s*', line)
>>> fields
['asdf', ' ', 'fjdk', ';', 'afed', ',', 'fjek', ',', 'asdf', ',', 'foo']
>>>

   3.如果你不想保留分割字串到結果列表中去,但仍然需要使用到括號來分組正則表示式的話,確保你的分組是非捕獲分組,形如

(?:...) 。比如:

>>> re.split(r'(?:,j;j\s)\s*', line)
['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']
>>>

   4.獲取分割字元在某些情況下也是有用的。比如,你可能想保留分割字串,用來在後面重新構造一個新的輸出字串:
>>> values = fields[::2]  #切片,隔一個取一個元素的操作,[::-1] 視為翻轉操作
>>> delimiters = fields[1::2] + ['']
>>> values
['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']
>>> delimiters
[' ', ';', ',', ',', ',', '']
>>> # Reform the line using the same delimiters
>>> ''.join(v+d for v,d in zip(values, delimiters))
'asdf fjdk;afed,fjek,asdf,foo'
>>>





相關推薦

python 分割字串

      1. string 物件的 split() 方法只適應於非常簡單的字串分割情形,它並不允許有多個分隔符或者是分隔符周圍不確定的空格。當你需要更加靈活的切割字串的時候,最好使用 re.spl

Python 分割字串與拼接字串

+ 號:實現字串連線>>> "zhrq" + "95"'zhrq95'>>> a = 95>>> b

python字串分割(re.split)

def address_data(raw_data_txt, new_data_txt): raw_data = open(raw_data_txt, 'r') new_data = open(new_data_txt, 'w') new_d

python按照固定長度分割字串

def cut_text(text,lenth): textArr = re.findall('.{'+str(lenth)+'}', text) textArr.append(text[(len(textArr)*lenth):]) return t

python split同時用多種字元分割字串並去除空串 簡單兩行程式碼實現

程式碼使用的是python3的語法,python2只需要修改其中部分內容,同樣可以使用 兩行程式碼實現需求 這裡把程式碼直接給出,方便大家直接使用 >>> s

Python字串的提取、分割與刪除- 千月的python linux 系統管理指南學習筆記(11)

Python 下字串的提取、分割與刪除 對於文字來講,提取、分割和刪除是我們用的較多的操作。 文字我們可以看成是字串物件。首先說到的是 in 和 not in操作。 字串的提取 in 和 not i

精簡程式碼:Python的split方法函式可以分割字串成列表,預設是以空格作為分隔符sep來分割字串

 Python的split方法函式可以分割字串成列表,預設是以空格作為分隔符sep來分割字串。 In [1]: s = "www jeapedu com" In [2]: print s.split()   ['www', 'jeapedu', 'com']  

Python字串分割,間隔插入指定的字元

將字串每2個字元分為一組,間隔的插入空格 import re string = "aaaaaa270020110020ed810008f581000" # 寫出正則表示式 任意

Python使用正則表示式分割字串

re.split(pattern, string, [maxsplit], [flags]) pattern:表示模式字串,由要匹配的正則表示式轉換而來。 string:表示要匹配的字串。 maxs

Pythonpython分割字串(含多種分割符)的方法

Date: 2018.6.9 1、 參考: 2、分割字串的三種方法 2.1 str.split() 利用字串函式split分割,分割後返回的是分割部分的字元列表,但是 每次只

Python基礎-用多個字元分割字串

Python的str類有split方法,但是這個split方法只能根據指定的某個字元分隔字串,如果要同時指定多個字元來分隔字串,該怎麼辦呢? 採用正則表示式: 幸運的是python的re模組中提

python 操縱字串、列表、字典

-------列表中字串的去重 方法1:去除並保留列表的順序,思路看起來比較清晰簡單 ,也可以保持之前的排列順序 a=[6,1,2,1,2,3,4,5,6,4] new_a=[] for id in a:     if id not in new_a:    

Python學習-字串函式操作3

字串函式操作 isprintable():判斷一個字串中所有字元是否都是可列印字元的. 與isspace()函式很相似 如果字串中的所有字元都是可列印的字元或字串為空返回 True,否則返回 False str1 = 'gheruiv'; str2 = '\n\t'; print(str1.isp

小白python學習——字串中容易忽略的函式

1.字串是不可直接改變的,列表可以(一開始自己的坑) 例: a="abcde" a=a[0:0]+"2"+a[1:] print(a) 輸出:a2cde 2.用replace函式   a="abcde" a=a.replace(a[0],"2") print(a)

Java中分割字串split()的用法小結

用"."做分隔符,必須是如下寫法 String.split("\\."),不能是String.split("."); 用"|"做分隔符,必須是如下的寫法 String.split("\\|"),不能是String.split("|"); 如果在一個字串中有多

多個分割分割字串

題目:查詢關鍵字為陣列且與陣列的順序無關(變數):示例陣列 String[] s = { "aba", "bab", "z", "q" }; 查詢內容(變數): 示例字元 String str = "sababqczac"; 替換後的內容為:s<b>ababq</b>

python格式化字串含義

字串格式化符號含義    符   號    說     明      %c  &nb

python關於字串內建方法

1. str.split() Return a list of the words in the string, using sep as the delimiter string. sep The delimiter according which to split the s

python字串空格

原文連結:https://blog.csdn.net/zhangfengwusha/article/details/28389853  字串裡有三個去空格的函式 strip 同時去掉左右兩邊的空格 lstrip 去掉左邊的空格 rstrip 去掉右邊的空格 >>>

Python字串的基本操作

字串的基本操作 索引 index python字串是不可以改變的字元序列 索引取值語法: 字串[整數表示式] 說明: python的序列都可以用索引(index) 來訪問序列中的物件 python序列的正向索引是從0開始的,第二個索引為1,最 後一個索引為len(s)-1