Python基礎之字串 str 常用操作

2021-08-25 16:56:51 字數 4772 閱讀 8216

len()返回字串的長度

##python3

>>> print(len('ab12我'))

5##python2

>>> print(len('ab12我'))

6

join()將字串的每個元素按照指定的分隔符進行拼接

def join(self, iterable):

return ""

>>> str1='*'

>>> str2='test'

>>> str1.join(str2)

't*e*s*t'

split()切割字串

##按指定字串分割字元,分隔字元不保留,從左側開始找

split(self, sep=none, maxsplit=-1)

>>> str1='www.cnblogs.com'

>>> print(str1.split('.'))

['www', 'cnblogs', 'com']

##按指定字串分割字元,分隔字元不保留,從右側開始找

rsplit(self, sep=none, maxsplit=-1)

>>> str1='www.cnblogs.com'

>>> print(str1.rsplit('.'))

['www', 'cnblogs', 'com']

##只能按照換行進行分割,引數為true表示保留換行符,false則不保留

splitlines(self, keepends=none)

>>> str1='www.cn\nblogs.com'

>>> print(str1.splitlines(true))

['www.cn\n', 'blogs.com']

>>> print(str1.splitlines(false))

['www.cn', 'blogs.com']

字元大小寫轉換

print(b.capitalize())      ##首字母大寫

print(b.casefold()) ##除lower功能外,還有很多特殊的字元轉換成小寫,比如德文

print(b.lower()) ##字元小寫,只能實現英文本元變小寫

print(b3.islower()) ##判斷字元是否全是小寫

print(b.upper()) ##字元大寫

print(b.isupper()) ##判斷字元是否全部是大寫

print(b.swapcase()) ##大寫轉小寫,小寫轉大寫

print(btitle.title()) ##將字串轉換成標題格式,所有單詞首字母大寫

print(btitle.istitle()) ##判斷字元是否是標題格式

find()從字元的中尋找字元,成功返回下標,失敗返回-1, 字元下標從0開始

def find(self, sub, start=none, end=none):

return 0

>>> b='as@cbß@1013,,'

>>> print(b.find('s',0,4))

1>>> print(b.find('ß',0,4))

-1

strip()取出字串兩端的特定字元

##去除左右空白,也可以去除指定字元,預設去除空格、\t、\n

def strip(self, chars=none):

return ""

>>> str2='www.cnblogs.comwww'

>>> print(str2.strip('w'))

.cnblogs.com

>>> str2='www.cnblogs.comwww'

>>> print(str2.strip('w'))

.cnblogs.com

查詢和替換字串中的字元

##替換字元,替換第乙個,如果第三個引數為2代表替換前兩個

replace(self, old, new, count=none):

>>> str1='as@cbß@1013'

>>> print(str1.replace('@','222',2))

as222cbß2221013

##計算當前字元在字串中出現的次數,從字串第3個字元開始到第20個字元結束

count(self, sub, start=none, end=none)

>>> str1='as@cbß@10@13'

>>> print(str1.count('@',3,20))

2

>>> print(str1.count('*',3,20))

0##從字元的【1,6)中尋找字元,成功返回下標,失敗返回-1, 字元下標從0開始

find(self, sub, start=none, end=none)

>>> str1='as@cbß@10@13'

>>> print(str1.find('s',1,5))

1>>> print(str1.find('*',1,5))

-1

填充字串

##設定字元長度,字元居中,空白處*填充,預設空白,支援1個字元

center(self, width, fillchar=none)

>>> str1='as@cbß@10@13'

>>> print(str1.center(20,'*'))

****as@cbß@10@13****

##左側填充

ljust(self, width, fillchar=none)

>>> str1='as@cbß@10@13'

>>> print(str1.ljust(20,'*'))

as@cbß@10@13********

##右側填充

rjust(self, width, fillchar=none)

>>> str1='as@cbß@10@13'

>>> print(str1.rjust(20,'*'))

********as@cbß@10@13

其他字串操作

##join、split、find、strip、upper、lower、len

b='as@cbß@1013,,'

b1='xx,xx'

b2='1111***x\ty\tyyyy2222'

b3='sfsgfisfg我'

b4='12345②二'

btitle='return true if all cased characters is s '

b5='_'

print(b.format(name='yong',age=19)) ##格式化字串,指定名稱

print(b1.format('yong','***')) ##格式化字串,必須從0開始

print(b.format_map()) ##格式化字串,傳入的是map

print(b.partition('a')) ##按指定字元將字串串分割成三份,從左側開始

print(b.rpartition('a')) ##按指定字元將字串串分割成三份,從右側開始

print(b.startswith('a')) ##判斷字元是否以什麼開始,返回true或false

print(b.endswith('1')) ##判斷字元是否以什麼結尾,返回true或false

print(b.index('c')) ##查詢字串,無法找到就拋錯,可以忽略,使用find即可

print(b2.isalnum()) ##判斷字串中是否只包含字母或數字,返回true或false

print(b3.isalpha()) ##判斷字元是否只包含字母或漢字

print(b4.isdigit()) ##判斷字串是否只包含數字,可以判斷字元②為數字

print(b4.isdecimal()) ##判斷字串是否只包含數字,只能判斷純數字,十進位制

print(b4.isnumeric()) ##判斷是否是數字,支援特殊②和中文的'二'

print(b.isidentifier()) ##判斷字串是否是合法的識別符號,字母數字下劃線開頭切只包含字母下劃線和數字

print(b.isspace()) ##判斷字元是否全是空格

print(b.isprintable()) ##答應出來的字串和實際一致的時候為true否則為false, 比如包含\n \t, 列印的時候無法看到\n\t,就返回false

print(b2.expandtabs(5)) ##按5個字元來斷句,當遇到了\t就直接使用空格補全到5個字元,比如上述字串以5分組,第二組為***\t 就會部2個空格,第三組為y\t,會補四個空格

python基礎 字串(str

標準序列的常規操作 索引 切片 乘法 成員資格檢查 長度等 適用於字串,但字串是不可變的資料型別,因此元素賦值和切片賦值是非法的。這裡介紹字串兩個方面 字串格式設定 字串方法 使用字串格式設定運算子 並在 右邊指定格式的值。指定要設定其格式的值時,可使用單個值 如字串,數字等 亦可使用元組 設定多個...

python學習 str字串

s hello world print s s hello world print s s hello world print s 轉義字元案例 想表達let s go 使用轉義字元 s let s go 就想表達乙個單引號,不想組成引號對 print s 表示斜槓 比如表示c user augsn...

Python基礎資料型別str字串

0 切片選取 x y 左閉右開區間 x y z 選取x到y之間 每隔z選取一次 選取x,x z,z為正 索引位置 x在y的左邊 z為負 索引位置 x在y的右邊 字串 都是字串的時候才能相加 a alex b wusir print a b 字串拼接字串 字串和數字相乘 a 6 b alex prin...