python字符操作超全总结

在python中,字符串是数据类型之一,属于不可变序列。

  • 转义字符的使用

转义字符是指使用反斜杠"\"对一些特殊字符进行转义。几个常用的转义字符如下:

\   —续行

\n —换行符

\0 —空

\t —制表符

\" —双引号

\\\—反斜杠

注:在字符串前加r将会变为原始字符串。在原始字符串中,将按原样输出,而不会对转义字符进行转义

print("Hi, \nlele")
print(r"Hi, \nlele")

输出结果

Hi,
lele
Hi, \nlele
  • 字母的大小写转换
char=" heLlo world" ##字符串前有空格

#字母大小写转换
print(char.title()) #title()使每个单词的首字母大写
print(char.upper()) #upper()将字符串改为全部大写
print(char.lower()) #lower()将字符串改为全部小写


输出结果

Hello World 
 HELLO WORLD
 hello world
  • 字符串截取
#截取字符串
print(char[2:8:1]) #第一个数字2表示要截取的第1个字符的索引。如果不指定参数,默认从索引0开始。
                    #第二个数字8表示要截取的最后一个字符的索引(不包括该字符)。如果不指定此参数,默认值为字符串的长度。
                    #第三个数字1表示切片的步长。如果不指定此参数,默认值为1
print(char[::]) #切片,等同于char[0:len(char):1],获取整个字符串
print(char[3]) #直接通过索引访问字符串中的单个字符。索引从 0 开始计数
print(char[1:-1]) #删除字符串左边第一位和右边第一位

输出结果

eLlo w
 heLlo world
L
heLlo worl
  • 字符串拼接和分割
#拼接字符串
char0 = "\t你好,世界: " + "hello world\t" + "!\n " #利用制表符或换行符添加空白,并使用+运算符对多个字符串进行拼接,拼接对象只能是字符串
print(char0) 
print(str(2023)+char0) #str()将非字符串值表示为字符串

#分割字符串为列表
#split()语法格式:str.split(sep, maxsplit) 
#str表示要分割的字符串,
#sep用于指定分隔符,可包含多个字符。默认值为None,即所有空字符(制表符"\t"、空格和换行符"\n")
#maxsplit可选参数,用于指定分割次数,得到的列表元素个数为maxsplit+1
print(char0.split()) #split()以默认值分割字符串
print(char0.split("世界")) #利用多个字符进行分割
print(char0.split("l")) #利用"l"进行分割
print(char0.split(" ", 2))

输出结果

你好,世界: hello world !

2023    你好,世界: hello world !

['你好,世界:', 'hello', 'world', '!']
['\t你好,', ': hello world\t!\n ']
['\t你好,世界: he', '', 'o wor', 'd\t!\n ']
['\t你好,世界:', 'hello', 'world\t!\n ']
  • 删除字符串两端的空格和特殊字符
char0 = "\thello world!\n " 
print(char0)
char1 = "!. I'm fine!"
print(char1)

#删除字符串两端的空格和特殊字符
##strip()语法格式为:str.strip(chars)
#chars为可选项,用于指定删除的字符。如果不指定此参数,默认删除字符串左右两侧的空格、制表符"\t"、回车符"\r"和换行符"\n"
print(char0.strip()) 
print(char1.strip("!.")) #删除字符串首尾的"!"或"."
print(char0.rstrip()) #rstrip()删除字符串末尾空白
print(char1.rstrip("!.")) #删除字符串末尾的"!"或"."
print(char0.lstrip()) #lstrip()删除字符串开头空白
print(char1.lstrip("!.")) #删除字符串开头的"!"或"."

输出结果

hello world!

!. I'm fine!
hello world!
 I'm fine
        hello world!
!. I'm fine
hello world!

 I'm fine!
  • 统计字符串长度
char2 = "one two的中文意思是1,2!" 

#统计字符串长度
print(len(char2)) #默认情况下,len()统计字符串长度,不区分英文、数字和汉字,所有字符都认为占一个字节
print(len(char2.encode())) #计算UTF-8编码的字符串长度。UTF-8编码时,汉字占三个字节
print(len(char2.encode("gbk"))) #计算GBK编码的字符串长度。GBK编码时,汉字占两个字节

输出结果

17
29
23
  • 检索字符串(count()/index()/startswith()/endswith()语法类似)
char2 = "one two four的中文意思是1,2,4!" 

#count()统计特定字符的出现次数
print(char2.count("o")) #默认情况下检索完整字符串
print(char2.count("o", 0, 6)) #0表示检索的起始位置的索引,6表示检索的结束位置的索引
print(char2.count("o", 0, 7)) 

#find()检索是否包含指定的字符串。如检索的字符串不存在,则返回-1。否则,返回该字符串首字符的索引
print(char2.find("two")) ##默认情况下检索完整字符串
print(char2.find("two",5,)) #5表示检索的起始位置的索引

#index检索是否包含指定的字符串,与find()类似。不同点是,如检索字符串不存在,则报错

#starstwith()检索字符串是否以特定子字符串开头。如果是,返回Ture,如果不是,返回False
print(char2.startswith("one",0,7))
print(char2.startswith("two",0,7))
#endswith()检索字符串是否以特定子字符串结尾。如果是,返回Ture,如果不是,返回False

输出结果

3
1
2
4
-1
True
False
  • 字符串替换
char3 = "hello world" 
print(char3.replace("hello", "Hi")) #替换

输出结果

Hi world

 

posted @ 2023-01-16 21:54  yayagogogo  阅读(195)  评论(0编辑  收藏  举报