在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[::]) #切片,前闭后开原则

输出结果

eLlo w
heLlo world
  • 字符串拼接和分割
#拼接字符串
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

最新文章

  1. git push如何至两个git仓库
  2. 畅通工程——D
  3. STM32之PWM波形输出配置总结
  4. CentOS6.x最下化安装及优化配置
  5. windows截屏
  6. CSS精粹之布局技巧
  7. asp.net输出docx文档出现【文件已损坏 无法打开】问题的解决方案
  8. 【Android - 框架】之Fresco的使用
  9. C#反射—解决类的实例化问题
  10. 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
  11. mysql语句insert后取到返回的主键id
  12. 开机后Android应用自动启动
  13. Linux 的相关操作
  14. 9、js扩展
  15. vue源码核心部分
  16. sqlserver数据库查询,在数据类型不一致时容易出错
  17. Docker Basic
  18. js混淆加密,通过混淆Js代码让别人(很难)无法还原
  19. phpize的作用(资料整理)
  20. nlp 总结 分词,词义消歧,词性标注,命名体识别,依存句法分析,语义角色标注

热门文章

  1. 2022-04-19内部群每日三题-清辉PMP
  2. pycharm 2021.3版本无法安装unittest
  3. 手动导入jar
  4. ethcat开发记录 一
  5. if __name__ == '__main__':中的语句无法执行
  6. springboot修改默认端口
  7. Arrays.asList()的使用
  8. Python+Django(4)——创建其他网页(模板继承)
  9. Flowable 中文文档
  10. springboot+mybatis+vue