說明:字串是不可變的資料型別
一、原生字串
在字串前新增r,python中表述原生字串
x=r'a\tb'
二、切片
m[start:end:step]
說明:只包含start,不包含end
step為間隔,每隔step-1步,預設為1,不能為0
-step就是從右向左找
[::-1]就是倒序
三、獲取字串長度
len(x)
四、查詢內容
find 不存在返回-1
rfind 從右找,也就是最大的下標位置
index 不存在就會報錯
rindex 從右找,不存在就會報錯
五、替換
x.replace('sub1','sub2')
六、切割成列表
split
x='a,b,c,d,e,f,g'
x.split(',')
x.split(',',2) #分割兩次,分成三段
rsplit 從右向左切
partition 指定的字串分割為乙個元組,分為三部分:(前面,分隔符,後面)
rpartition 從右向左切
七、大小寫字母變換
print(a.capitalize()) #只有第乙個單詞詞首大寫
print(a.title()) #每個單詞首字母大寫
print(a.upper()) #全部大寫
print(a.lower()) #全部小寫
八、補位填充
a.ljust(width,[fillchar]) #預設填充空格,在右邊填充
a.rjust(width,[fillchar]) #預設填充空格,在左邊填充
center(width,[fillchar]) #預設填充空格,在左右兩邊填充
九、刪除字元
a.strip(『char』) #刪除char中包含的所有字元
a.lstrip(『char』) #從左向右刪除,直到沒有char中包含的字元
a.rstrip(『char』) #從右向左刪除,直到沒有char中包含的字元
十、將列表變為字串
'char'.join(列表)
十一、編碼與字元的對應
ord(『char』) #獲取字元對應的編碼
chr(數字) #獲取編碼對應的字元
十二、佔位符{}+format
'我是{},今年{}歲了'.format('李',21)
'我是,今年歲了'.format(21,'李')
'我是,今年歲了'.format(age=21,name='李')
list=['li',18,'河南']
'我是{},今年{}歲了,來自{}'.format(*list)
dict=
'我是,今年歲了'.format(**dict)
十三、使用新的字元替換指定的字元
def my_replace(all_str,old_str,new_str):
return nwe_str.join(all_str.spilt(old_str))
print(my_replace('how you and you fine you ok','you','me'))
正規表示式中的原生字串r
其實在 python基礎教程 中,作者已經進行了詳細的說明。加入要匹配字串 python.org 可以直接使用 python.org 嗎?當然是可以的,但是不要忘記 代表萬用字元,此時也與 pythonaorg 匹配。怎麼讓 不代表統配符呢?只要加上 即可,但是為了表示模組re要求的單個反斜槓,需要...
C 11新特性探索 一 原生字串字面量問題
原生字串字面量 是c 11標準引入的用於避免手動將字串換碼的新特性。按照標準要求,其內部的一切文字都將原封不動地 所見即所得地宣告為字串。現在的問題是,預處理指令理應先於一切其他語言特性進行,在一些編譯系統中 如 mingw 預處理階段甚至是由 cpp.exe cpreprocessor 這一單獨的...
拼接所有的字串產生字典序最小的字串
拼接所有的字串產生字典序最小的字串 給定乙個字串的陣列strs,請找到一種拼接順序,使得所有的字串拼接起來組成的字串是所有可能性中字典序最小的,並返回這個字串。輸入描述 輸入包含多行,第一行包含乙個整數n 1 n 1 05 n 1 leq n leq 10 5 n 1 n 105 代表字串陣列str...