什么是字符串![]() 字符串 字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。一般記為 s=“a1a2···an”(n>=0)。它是編程語言中表示文本的數(shù)據(jù)類型。 通常以串的整體作為操作對(duì)象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。兩個(gè)字符串相等的充要條件是:長度相等,并且各個(gè)對(duì)應(yīng)位置上的字符都相等。 python 字符串相關(guān)特性1 屬于python基本數(shù)據(jù)類型和結(jié)構(gòu)的一種。2 本身是不可變的數(shù)據(jù)類型。 3 有很多內(nèi)置的方法 字符串連接方法1: 用字符串的join方法
a = ['a','b','c','d']
content = '' content = ''.join(a) print content
方法2: 用字符串的替換占位符替換
a = ['a','b','c','d']
content = '' content = '%s%s%s%s' % tuple(a) print content
想要了解更多,請(qǐng)看python字符串連接
字符串截取我們可以通過索引來提取想要獲取的字符,可以把python的字符串也做為字符串的列表就更好理解 想要了解更多,請(qǐng)看python字符串截取
字符串替換字符串替換可以用內(nèi)置的方法和正則表達(dá)式完成。
a = 'hello word'
b = a.replace('word','python') print b 2用正則表達(dá)式來完成替換: import re
a = 'hello word' strinfo = re.compile('word') b = strinfo.sub('python',a) print b 想要了解更多,請(qǐng)看python 字符串替換
字符串比較cmp方法比較兩個(gè)對(duì)象,并根據(jù)結(jié)果返回一個(gè)整數(shù)。cmp(x,y)如果X< Y,返回值是負(fù)數(shù) 如果X>Y 返回的值為正數(shù)。
sStr1 = 'strch'
sStr2 = 'strchr' print cmp(sStr1,sStr2)##-1 字符串相加我們通過操作符號(hào)+來進(jìn)行字符串的相加,不過建議還是用其他的方式來進(jìn)行字符串的拼接,這樣效率高點(diǎn)。 原因:在循環(huán)連接字符串的時(shí)候,他每次連接一次,就要重新開辟空間,然后把字符串連接起來,再放入新的空間,再一次循環(huán),又要開辟新的空間,把字符串連接起來放入新的空間,如此反復(fù),內(nèi)存操作比較頻繁,每次都要計(jì)算內(nèi)存空間,然后開辟內(nèi)存空間,再釋放內(nèi)存空間,效率非常低。
sStr1 = 'strch'
sStr2 = 'strchr' newstr = sStr1 + sStr2 print newstr 字符串查找python 字符串查找有4個(gè)方法,1 find,2 index方法,3 rfind方法,4 rindex方法。
1 find()方法: info = 'abca'
print info.find('a')##從下標(biāo)0開始,查找在字符串里第一個(gè)出現(xiàn)的子串,返回結(jié)果:0 info = 'abca' print info.find('a',1)##從下標(biāo)1開始,查找在字符串里第一個(gè)出現(xiàn)的子串:返回結(jié)果3 info = 'abca' print info.find('333')##返回-1,查找不到返回-1
2 index()方法: python 的index方法是在字符串里查找子串第一次出現(xiàn)的位置,類似字符串的find方法,不過比find方法更好的是,如果查找不到子串,會(huì)拋出異常,而不是返回-1
info = 'abca'
print info.index('a') print info.index('33') 字符串分割字符串分割,可以用split,rsplit方法,通過相應(yīng)的規(guī)則來切割成生成列表對(duì)象
info = 'name:haha,age:20$name:python,age:30$name:fef,age:55'
content = info.split('$') print content 字符串翻轉(zhuǎn)通過步進(jìn)反轉(zhuǎn)[::-1]
a = 'abcd'
b = a[::-1]##[::-1]通過步進(jìn)反轉(zhuǎn) print b 字符串編碼通過字符串的decode和encode方法 1 encode([encoding,[errors]])
S.decode([encoding,[errors]])
下面是字符串編碼應(yīng)用: a = '你好'
b = 'python' print a.decode('utf-8').encode('gbk')##decode方法把字符串轉(zhuǎn)換為unicode對(duì)象,然后通過encode方法轉(zhuǎn)換為指定的編碼字符串對(duì)象 print b.decode('utf-8')##decode方法把字符串轉(zhuǎn)換為unicode對(duì)象 字符串追加和拼接通過字符串的占位符來進(jìn)行字符串的拼接
#1 元組拼接
m = 'python' astr = 'i love %s' % m print astr #2 字符串的format方法 m = 'python' astr = "i love {python}".format(python=m) print astr #3 字典格式化字符串 m = 'python' astr = "i love %(python)s " % {'python':m} print astr 字符串復(fù)制通過變量來進(jìn)行賦值
fstr = 'strcpy'
sstr = fstr fstr = 'strcpy2' print sstr 字符串長度通過內(nèi)置方法len()來計(jì)算字符串的長度,注意這個(gè)計(jì)算的是字符的長度。
aa = 'afebb'
bb = '你' print len(aa) print len(bb) 字符串大小寫通過下面的upper(),lower()等方法來轉(zhuǎn)換大小寫
S.upper()#S中的字母大寫 字符串去空格通過strip(),lstrip(),rstrip()方法去除字符串的空格
S.strip()去掉字符串的左右空格 字符串其他方法字符串相關(guān)的其他方法:count(),join()方法等。
S.center(width, [fillchar]) #中間對(duì)齊 |
|
|