1. 程式人生 > >Python:字串函式

Python:字串函式

String模組中的常量:

string.digits:數字0~9

string.letters:所有字母(大小寫)

string.lowercase:所有小寫字母

string.printable:可列印字元的字串

string.punctuation:所有標點

string.uppercase:所有大寫字母

>>> import string
>>> string.digits
'0123456789'
>>> string.letters
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
>>> string.lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>
[email protected]
[\\]^_`{|}~ \t\n\r\x0b\x0c' >>> string.punctuation '!"#$%&\'()*+,-./:;<=>[email protected][\\]^_`{|}~' >>> string.uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1、find函式

在一個較長的字串中查詢子字串,返回子串所在位置最左端索引,沒有找到返回-1

>>> title = "Monty Python's Flying Circus"
>>> title.find('Monty')
0
>>> title.find('monty')
-1
可以選擇起始點和結束點
>>> title.find('Python')
6
>>> title.find('Python', 3)
6
>>> title.find('Python', 3, 10)
-1

2、join函式

在佇列中新增元素(只能操作於字串,返回一個修改後的字串,但是原字串不改變)

>>> seq = ['1', '2', '3', '4', '5']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3+4+5'
>>> seq
['1', '2', '3', '4', '5']
>>> dirs = '', 'usr', 'bin', 'env'
>>> '/'.join(dirs)
'/usr/bin/env'
>>> print 'C:' + '\\'.join(dirs)
C:\usr\bin\env

逆方法:split函式

將字串分割成序列,返回該序列,原字串不改變

>>> word = '1+2+3+4+5'
>>> word.split('+')
['1', '2', '3', '4', '5']
>>> word
'1+2+3+4+5'

3、lower函式

返回字串的小寫字母版

>>> 'fafDAWdfaweDWED'.lower()
'fafdawdfawedwed'
擴充套件:

title函式:首字母大寫,其他小寫

>>> "that's all folks".title()
"That'S All Folks"
capwords函式:功能同上,為string模組中函式
>>> import string
>>> string.capwords("that's all folks")
"That's All Folks"

4、replace函式

返回某字串所有匹配項均被替換之後得到的字串,原字串不改變

>>> word = 'this is a test'
>>> word.replace('is', 'eez')
'theez eez a test'
>>> word
'this is a test'

maketrans函式:功能同上,string中的轉換表,共有256個專案,函式接受2個等長的字串,第一個字串中的每個字元都用第二個字串中相應位置的字元來進行替換

maketrans類似於一種規則,經常與translate結合,以完成一些普通函式無法完成的字串替換

>>> from string import maketrans
>>> table = maketrans('cs', 'kz')
>>> len(table)
256
>>> table[97:123]
'abkdefghijklmnopqrztuvwxyz'
>>> maketrans('','')[97:123]
'abcdefghijklmnopqrstuvwxyz'

translate函式:功能同上,但是隻能處理單個字元,有2個引數,第一個是替換,第二個是刪除

例:table承繼maketrans中的table

>>> 'this is an incredible test'.translate(table)
'thiz iz an inkredible tezt'
>>> 'this is an incredible test'.translate(table, ' ')
'thizizaninkredibletezt'

5、strip函式

去除兩側(不包括內部)空格的字串,原序列不變

>>> word = '   this is test    '
>>> word.strip()
'this is test'
>>> word
'   this is test    '
可在strip()加入引數,以去除想要去掉的指定字元
>>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('*')
'  SPAM  *  for  *  everyone!!!  '
>>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('* ')
'SPAM  *  for  *  everyone!!!'
>>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('* !')
'SPAM  *  for  *  everyone'

相關推薦

Python字串函式

String模組中的常量: string.digits:數字0~9 string.letters:所有字母(大小寫) string.lowercase:所有小寫字母 string.printable

Python編寫函式,能在當前目錄以及子目錄下查詢檔名包含指定字串的檔案,並打印出完整路徑

絕對路徑問題參考連結: os模組參考連結: 文字編輯器:Notepad++ #編寫一個search(s)的函式,能在當前目錄以及當前目錄的所有子目錄下查詢檔名包含指定字串的檔案,並打印出完整路徑 #如果要編譯檔案,請把註釋刪除再編譯執行 #如果字元格式出錯,請在

Python學習-字串函式操作3

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

Python字串的基本操作

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

Python學習-字串函式操作2

字串函式操作 find( sub, start=None, end=None):從左到右開始查詢目標子序列,找到了結束查詢返回下標值,沒找到返回 -1 sub:需要查詢的字串 start=None:開始查詢的起始位置,預設起始的位置為可以省略(0) end=None:結束查詢的位置,可以省略

Python學習-字串函式操作1

字串的函式操作 capitalize():可以將字串首字母變為大寫 返回值:首字元大寫後的新字串 str = "liu" print(str.capitalize()); // Liu print(str); // liu lower():可以將字串每個字元都變為小寫

python字串

字串內建函式 1. find() 作用:檢測指定字串是否包含在當前字串中,如果是返回開始的索引值,否則返回-1 格式:字串名.find(‘指定字串’,start,end) start預設為0,end預設為len(字串名) rfind():從右側開始查詢 2. index() 和find(

pythonmax函式

初級技巧 tmp = max(1,2,4) print(tmp) #>>>4 #可迭代物件 a = [1,2,3,4,5,6] tmp = max(a) print(a) #>>>6 中級技巧:key屬性的使用 當引數不為

Python高階函式map與reduce以及filter和sorted的使用

#map and reduce 是進行分散式處理的python 高階函式 map () :將叢集的資料進行解析 reduce() 將解析後的資料集合 filter() 用於過濾序列傳入的函式作用於序列的每個元素返回True or False #map(args1,args2) args1 :

Python基本函式介紹

range(): range(1,5) # 返回一個列表,其元素包括1,2,3,4(不包含5) [1, 2, 3, 4] range(1,5,2) # 列表中包含1,間隔2後再有3,由於再間隔2後為5,不包含5,所以只有1和3 [1, 3] range(5) # 列表中有5個數,從0到(

python字串與資料的轉換

整數或浮點數轉換為字串: score = 98 print("您的分數為:"+str(score)) 輸出結果: 您的分數為:98 字串轉換為整數: x = input("輸入x: ") # 輸入的x為字串型別 y = input("輸入y: ") # 輸入的y

Pythonsample函式 如何使用?

注:本文為轉載文章,如有侵權請告知,將予以刪除 轉自:http://www.cnblogs.com/volcao/p/8727688.html   sample(序列a,n) 功能:從序列a中隨機抽取n個元素,並將n個元素生以list形式返回。 例: from ra

3: Python基礎-字串函式彙總

1 capitalize 功能:將字串的第一個字元轉換為大寫 my_str = "i love python" result = my_str.capitalize() print(result) 結果:I love python 2 center(wi

pythonzip函式,對列表中的元素進行函式操作

python程式碼 a = [[123, 456, 789, 123],[124, 455, 788, 124]] width = map(lambda x:x[1] - x[3], a) # 求a中各個元素中,第2和第4的差值 list(width) 總結 pyth

Python字串下劃線風格轉駝峰風格

#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: 下劃線風格轉駝峰風格.py @t

Python字串格式化

字串格式化: %: %s 格式化為字串 >>> format = "Hello, %s. %s enough for ya?" >>> values = ('w

python-2 字串函式之三 isdigit() 、 isnumeric() 、isdecimal 區別 Python中 isdigit() 和 isnumeric() 的區別

Python中 isdigit() 和 isnumeric() 的區別   num = "1" #unicodenum.isdigit() # Truenum.isdecimal() # Truenum.isn

Python字串中指定位置插入一個字元

str_1='wo shi yi zhi da da niu/n'str_list=list(str_1) nPos=str_list.index('/') str_list.insert(nPos,',') str_2="".join(str_list)print(str_2)

Python聚合函式(groupby)

一堆廢話 不知不覺都12月12日了。 如果再不寫CSDN,我的持之以恆勳章就要消失了! 記得去年的雙十二,是真的大打折了!上證一天跌了2.47%,近400只股票跌停。 我還清晰地記得,那天是一路下跌。中午收盤已經跌了接近1.7%了。 在食堂

python字串和數字拼接 (TypeError: Can't convert 'int' object to str implicitly)

我將在學習Python的路上,一路狂奔…… 之前對java比較熟悉,現在開始學習python,在寫程式碼的習慣上很容易混淆兩者,今天就需要到這樣的問題,程式碼如下: #!/usr/bin/python # -*- coding: UTF-8