python中常見字串操作小結

2021-09-02 21:09:39 字數 3066 閱讀 4039

#!/usr/bin/env python

#-*- coding: utf-8 -*-

print '''建立字串'''

str1 = 'learn python'

print str1,str1[0],str1[-1] #輸出整個字串,第乙個字元,最後乙個字元

print str1[:6] #切片

# result:learn

# result:learn python l n

# str1[0] = 'h' 程式報錯,不允許修改字串

print '-'*70

print '"hello,my name is mike"' #當字串中雙引號,最好用單引號建立

# result:"hello,my name is mike"

print 'doesn\'t' #如果用單引號建立有單引號的字串,字串中的單引號前加上\

# result:doesn't

print '-'*70

str2 = '''python具有豐富和強大的庫。它常被暱稱為膠水語言,

能夠把用其他語言製作的各種模組(尤其是c/c++)很輕鬆地聯結在一起。

常見的一種應用情形是,使用python快速生成程式的原型(有時甚至是程式的最終介面),

然後對其中[2] 有特別要求的部分,用更合適的語言改寫。

'''print str2

str3 = '''python具有豐富和強大的庫。它常被暱稱為膠水語言,\

能夠把用其他語言製作的各種模組(尤其是c/c++)很輕鬆地聯結在一起。

常見的一種應用情形是,使用python快速生成程式的原型(有時甚至是程式的最終介面),\

然後對其中[2] 有特別要求的部分,用更合適的語言改寫。\

'''print str3

# 輸出太長這裡就不展示了,請讀者動手執行感受str2與str3的不同

print '-'*70

print 'e:\note\python.doc' #\n會被當作換號符處理

# result:e:

# ote\python.doc

print r'e:\note\python.doc' #字串前加r,所以特殊字元失效

# result:e:\note\python.doc

print '-'*70

str4 = 'string\t'

str5 = 'is powerful'

str4 = str4+str5

# 不會報錯,實際上這不是修改str4,而是先消去現有的str4,再用'+'返回的新的合併後的字串去重新建立str4

print str4

# result:string is powerful

print '-'*70

a_tuple = (2,'on')

print format_str1 % a_tuple

print format_str2 # 這是另一種寫法,更簡便

print '-'*70

print '''字串方法'''

str6 = "zootopia"

print str6.find('to')# 返回第乙個to的索引,注意str6[3]='t',str6[4]='o'

# result:3

print '-'*70

str6_2 = "z o o t o p i a"

print str6_2.split() # 利用空格符分隔開字元

# result: ['z', 'o', 'o', 't', 'o', 'p', 'i', 'a']

print ''.join(str6_2.split()) # 再通過join函式又可以還原

# result: zootopia

print '-'*70

str7 = '54321'

print '>'.join(str7) # 上乙個例子是列表的join,這個是字串的join,功能類似

# result: 5>4>3>2>1

print '-'*70

str8 = '"yes!",i answered.'

print str8.split(',')# split()可以指定乙個字元作為分隔符

# result:['"yes!"', 'i answered.']

# 如果想把多個字元作為分隔符,可用下面這個方法

sep=['!',',','.','"']

for i in sep:

str8 = str8.replace(i,' ')# 將全部分隔符替換為空格

print str8.split() # 成功提取句子中的所有單詞

# result:['yes', 'i', 'answered']

print '-'*70

print str9.count('a') #注意區分大小寫

# result: 1

str9 = str9.lower()

print str9.count('a')

# result: 2

print '-'*70

str10 = '12345'

print str10.isalnum()

# result: true

print '-'*70

print '''unicode字串'''

unicode_str = u'\u4f60\u597d'

print unicode_str #"你好"的unicode編碼

# result: 你好

utf8_str = unicode_str.encode('utf-8')

print utf8_str

# 注意'你好'的utf-8編碼為'\xe4\xbd\xa0\xe5\xa5\xbd'(在python shell中直接輸入utf8_str會顯示這個編碼),

# 但是print()函式不會自動解碼,所以直接輸出為亂碼

print utf8_str.decode('utf-8')

# result: 你好

print unicode(utf8_str,'utf-8') #這兩種方法一樣

# result: 你好

python常見字串操作

str hello world print str.upper 把所有字元中的小寫字母轉換成大寫字母 print str.lower 把所有字元中的大寫字母轉換成小寫字母 print str.capitalize 把第乙個字母轉化為大寫字母,其餘小寫 print str.title 把每個單詞的第乙...

python常見字串操作

附 python2.x和python3.x中raw input 和input 區別 備註 1 在python2.x中raw input 和input 兩個函式都存在,其中區別為 raw input 將所有輸入作為字串看待,返回字串型別 input 只能接收 數字 的輸入,在對待純數字輸入時具有自己的...

python常見字串方法

字串.isalnum 所有字元都是數字或者字母,為真返回 ture,否則返回 false。字串.isalpha 所有字元都是字母,為真返回 ture,否則返回 false。字串.isdigit 所有字元都是數字,為真返回 ture,否則返回 false。字串.islower 所有字元都是小寫,為真返...