学习python字符串常用操作,这一篇就够了

学习python字符串常用操作,这一篇就够了_第1张图片

 废话不多说,直接来一波

1、切片访问

1、正常取值

从左向右 :下标从 0 开始,左闭右开

从右向左 :下标从 -1 开始,左闭右开

data= "mu chen feng is a boy"
data[0]  #m
data[-1]  #y
data[-3:-1]  # bo
data[0:12] # mu chen feng
data[-8:-4] #is a
data[::-1] # yob a si gnef nehc um     字符串反转

2、有步长的切片方式

data[start:end:step]  

#这种形式 第一个 : 代表处理后的字符串,第二个 : 代表着 间隔截取 正数正向输出,负数代表逆向输出

data1="123456789"
data1[::-1]  #逆序输出
data1[2:9:3]  #369
data1[::2]   #13579
data1[::-2]   #97531

2、大小写转换

1、全部转换为大写

data.upper()   #MU CHEN FENG IS A BOY

2、全部转换为小写

data.lower()   #mu chen feng is a boy

3、每个单词首字母大写

data.title()   #Mu Chen Feng Is A Boy

4、段首字母大写

data.capitalize()  #Mu chen feng is a boy

5、大小写转换

data.swapcase()   #MU CHEN FENG IS A BOY

最常用的操作是 段首字母大写和首字母大写

3、去除空格或特殊字符

默认为空格

1、以空格为例

data2= "              mu chen feng  "

#去除两边空格
data2.strip()   #mu chen feng

#去除左边空格
data2.lstrip()  #mu chen feng

#去除右边空格
data2.rstrip()   #              mu chen feng

2、去除异常字符

data3 =",,,mu chen feng !,!,"
data3.strip(",")   # mu chen feng !,!
data3.lstrip(",")  # mu chen feng !,!,
data3.rstrip(",")  # ,,,mu chen feng !,!
data3.rstrip(" !,!,") #,,,mu chen feng

4、判断字符串是否以指定字符串开头,结尾

data.startswith("mu")   #True
data.endswith("mu")     #False

一般用于 pandas 中做数据筛选

5、字符串格式化

字符格式化 一般有   %  和  format  两种方式,下面举个小栗子,看懂后,应该就明白了用

法了.

if knife_length > 20:
    # 如果超过 20 厘米,提示刀的长度,不允许上车
    print("您携带的刀太长了,有 {0} 公分长!".format(knife_length))
else:
    print("knife_length is %s : ",knife_length)

6、其他操作

1、判断类型

type(data)   #

2、求长度

len(data)     #21

3、替换

data.replace("feng","风")  #mu chen 风 is a boy

通常可以通过替换,去除异常数据

4、截取字符串

data.split(" ") #['mu', 'chen', 'feng', 'is', 'a', 'boy']
print(data.split(" ")[2])  #feng

5、合并字符串

data4 =data.split(" ")
"-".join(data4)

6、指定长度 ,如果够长,则原样输出,如果不够长前面补0

data.zfill(25)    #0000mu chen feng is a boy

7、检查子字符段,在字符串中出现的次数

语法:

data.count(sub,strt,end)

data 原字符串

sub 子字符串

start 开始位置,默认从下标 0 开始 左闭右开

end 结束位置,默认一直检索到结尾

data5 ="zxcvbnmzxcvbjakz"
data5.count("z")   #3
print(data5.count("z",1))   #2

8、子字符串第一次出现的下标

1、 find() 方法

返回子字符串第一次出现的下标,若子字符串不存在,则返回 -1

语法:

data.find(sub,strt,end)

sub 子字符串 start 开始位置下标,默认从头开始

end 结束位置的索引,默认从尾结束

data5.find("x")   #1
data5.find("o")  #-1

2、index()方法

返回子字符串第一次出现的下标,若子字符串不存在,否则抛出异常

语法:

data.index(sub,start,end)

sub 子字符串 start 开始位置的下标,默认从头 0 开始

end 结束位置的索引,默认从尾结束

data5.index("o")   #ValueError: substring not found

9、子字符串最后一次出现的下标

1、rfind() 方法

用法和 find() 一样

2、rindex()方法

用法和 index() 一样

10、对齐方式

1、右对齐

Python rjust() 返回一个原字符串右对齐,并使用空格(其他字符)在原字符左边填充,至长度为 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

data.rjust(width, fillchar)

width 指定填充指定字符后中字符串的总长度.

fillchar 填充的字符,默认为空格

data6 ="12345"
data6.rjust(10)  #     12345
data6.rjust(10,"1")   #1111112345

2、左对齐

Python ljust() 返回一个原字符串左对齐,并使用空格(其他字符)在原字符右边填充,至长度为 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

用法和  rjust一样

data6.ljust(10)  #12345     
data6.ljust(10,"1") #1234511111

3、居中对齐

center() 字符串方法与 ljust() 和 rjust() 的用法类似,但它让文本居中。如果指定的长度小于字符串的长度则返回原字符串

data6.center(10)   #  12345 

print("欢迎".center(20,"=")#==========欢迎==========  

你可能感兴趣的:(Python,学习)