常用:find( ) replace( ) split( ) join( ) strip( )
- 查看字符串方法:
print(dir(''))
1. chr 的替換: replace( )
-
描述
Python replace()
方法把字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個(gè)參數(shù)max,則替換不超過 max 次,默認(rèn)是全部替換纳鼎。這個(gè)方法不是 inplace方法,不會(huì)修改元字符串豁遭。
-
語法
str.replace(old, new, max)
-
參數(shù)
old -- 將被替換的子字符串难捌。
new -- 新字符串拴还,用于替換old子字符串跨晴。
max -- 可選字符串, 替換不超過 max 次
-
返回值
返回字符串中的 old(舊字符串) 替換成 new(新字符串)后生成的新字符串,如果指定第三個(gè)參數(shù)max自沧,則替換不超過 max 次坟奥。
-
實(shí)例:¥599 -> 599
name = 'hello world ha ha'
new_name = name.replace('ha', 'Ha',1) # 參數(shù)含義(老字符, 新字符拇厢, 替換數(shù)量)
new_name
# 'hello world Ha ha'
2. 字符串分割成 chr 列表: split( )
-
描述
Python split()
通過指定分隔符對(duì)字符串進(jìn)行切片爱谁,如果參數(shù) num 有指定值,則將字符串分隔成 num+1 個(gè)子字符串
-
語法
str.split(str="", num=string.count(str))
-
參數(shù)
str -- 分隔符孝偎,默認(rèn)為所有的空字符访敌,包括空格、換行(\n)衣盾、制表符(\t)等寺旺。
num -- 分割次數(shù)。默認(rèn)為 -1, 即分隔所有势决。
-
返回值
返回分割后的字符串列表阻塑。
-
實(shí)例
name = 'hello ha ha ha'
name_list = name.split(" ")
print(name_list)
name_list1 = name.split(' ', 2)
print(name_list1)
# ['hello', 'ha', 'ha', 'ha']
# ['hello', 'ha', 'ha ha']
3. 列表連接成字符串:join( )
-
描述
Python join()
方法用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串。
-
語法
str.join(sequence)
-
參數(shù)
sequence -- 要連接的元素序列果复。
-
返回值
返回通過指定字符連接序列中元素后生成的新字符串陈莽。
-
實(shí)例
str4 = ' '
list1 = ['my', 'name', 'is', 'vector']
str4.join(list1)
# 'my name is vector'
'_'.join(list1)
# 'my_name_is_vector'
'$'.join(list1)
# 'my$name$is$vector'
4. chr 的查找:find( ) 與 rfind( )
-
描述
Python find()
方法檢測(cè)字符串中是否包含子字符串 str ,如果指定 beg(開始) 和 end(結(jié)束) 范圍,則檢查是否包含在指定范圍內(nèi)走搁,如果包含子字符串返回開始的索引值独柑,否則返回-1。rfind()
方法就是從右側(cè)(索引為 -1)開始檢查私植。
-
語法
str.find(str, beg=0, end=len(string))
-
參數(shù)
str -- 指定檢索的字符串
beg -- 開始索引忌栅,默認(rèn)為0。
end -- 結(jié)束索引曲稼,默認(rèn)為字符串的長(zhǎng)度索绪。
-
返回值
如果包含子字符串返回開始的索引值,否則返回-1躯肌。
-
實(shí)例
my_str = 'hello world neuq and neuducpp'
my_str.rfind('neuq')
# 12
5. 空白的去除:strip( ) 與 rstrip( ) lstrip( )
-
描述
Python strip()
方法用于移除字符串頭尾指定的字符(無參數(shù)默認(rèn)為空格或換行符)或字符序列者春。
注意:該方法只能刪除開頭或是結(jié)尾的字符,不能刪除中間部分的字符清女。
rstrip( )
方法可以清除字符串右邊的空白字符。
-
語法
str.strip([chars])
-
參數(shù)
chars -- 移除字符串頭尾指定的字符序列晰筛。(默認(rèn)為空白)
-
返回值
返回移除字符串頭尾指定的字符生成的新字符串嫡丙。
-
實(shí)例
# 含有參數(shù):
print('oooooooohello o'.lstrip('o'))
>> hello o
# 無參數(shù)
my_str_space = 'hello'
print(len(my_str_space.center(20)))
my_str_space.center(20).strip()
>> 20
>> 'hello'
str1 = '\n\thahaha\t'
str1.strip()
>> 'hahaha'
my_str_space.center(20).lstrip()
>> 'hello '
my_str_space.center(20).lstrip().rstrip()
>> 'hello'
6. 將字符串首字母大寫
str.capitalize()
my_str = 'hello world neuq and neuducpp'
my_str.capitalize()
# 'Hello world neuq and neuducpp'
7. 把字符串每個(gè)單詞首字母大寫
str.title()
my_str = 'hello world neuq and neuducpp'
my_str.title()
# 'Hello World Neuq And Neuducpp'
8. 檢測(cè)是否以指定的 str 開頭
str.startswith('str')
my_str = 'hello world neuq and neuducpp'
my_str.startswith('hello')
# True
my_str.startswith('Haello')
# False
9. 檢測(cè)字符串是否以 str 結(jié)尾
endswith( )
my_str = 'hello world neuq and neuducpp'
my_str.endswith('cpp')
# True
10. 把字符串轉(zhuǎn)化為大寫
str.upper( )
my_str = 'hello world neuq and neuducpp'
my_str.upper()
# 'HELLO WORLD NEUQ AND NEUDUCPP'
11. 把字符串所有字母變?yōu)樾?/h2>
str.lower( )
my_str.upper().lower()
# 'hello world neuq and neuducpp'
12. ljust( ) & rjust( )
返回一個(gè)原字符串左對(duì)齊(右對(duì)齊)并用空格填充。 參數(shù)表示字符串的寬度读第。
my_str_space = 'hello'
my_str_space.ljust(10)
# 'hello '
len(my_str_space.ljust(10))
# 10
my_str_space.rjust(10)
# ' hello'
my_str_space.ljust(5).rjust(20)
# ' hello'
13. center
my_str_space.center(20)
# ' hello '
14. index( ) 與 rindex( )
15. partition(str)
把 my_str 以 str 分割成三部分:str 前曙博、str、str 后怜瞒。以元組的形式返回.
my_str.partition('neuq')
# ('hello world ', 'neuq', ' and neuducpp')
16. rpartition()
從右邊開始父泳。
17. splitlines()
按照行分割返回一個(gè)包含各行作為元素的列表。
line = 'hello\nworld'
print(line)
line.splitlines()
# hello
# world
# ['hello', 'world']
18. isalpha()
判斷字符串是否都是由字母組成吴汪。
my_str.isalpha()
# False
alpha = 'aaaaaa'
alpha.isalpha()
True
19. isdigit
判斷是否是數(shù)字
20. isalnum()
判斷是否只有字母和數(shù)字
21. isspace( )
判斷是否只有空格惠窄。