python字符串详解

àì夳堔傛蜴生んèń 2021-11-24 01:20 411阅读 0赞

字符串详解

  1. 在python中引号引起来的就是字符串
  2. 字符串是用来存储少量数据

索引

索引(下标) 通过索引可以精确的定位到某个元素
  1. name = "meat" meat 每一个字母叫做一个元素 # 0123 从左向右代表每一个字母 #-4-3-2-1 从右向左每一个字母 print(name[-1]) 输出 t name = "今天是个好日子" 0 1 2 3 4 5 6 -7-6-5-4-3-2-1 a = name[0] b = name[1] print(a+b) **输出今天**
切片
  1. name = "todayisgood" print(name[0:2]) 输出:to 顾头不顾尾 name[起始位置:终止位置] print(name[:]) 某个位置不指定的时候默认取最后或最前 print(name[:3]) 输出:tod print(name[2:5]) 输出:day print(name[-2:-5]) print(name[-2:-5:-1]) # **[起始位置:终止位置:步长] 步长默认为1**
  2. name = "大黑哥吃大煎饼" print(name[1:5]) 输出 黑哥吃大 print(name[-2:-6:-1]) 输出 煎大吃哥 print(name[-6:6]) 输出 黑哥吃大煎 a = name[0] 输出 b = name[2] 输出 c = name[4] 输出 d = name[6] print(a+b+c+d) print(name[::2]) print(name[100:105]) 切片的时候起始位置和终止位置都超出的时候不会进行报错 print(name[100]) 索引的时候索引值超出范围的时候会报错
  3. s = 'Python最NB'
  4. 获取s字符串中前3个内容
  5. s[0:3]
  6. 获取s字符串中第3个内容
  7. s[2]
  8. 获取s字符串中后3个内容
  9. s[-3:]
  10. 获取s字符串中第3个到第8
  11. s[2:8]
  12. 获取s字符串中第2个到最后一个
  13. s[1:]
  14. 获取s字符串中第1,3,5个内容
  15. s[0:6:2]
  16. 获取s字符串中第2,4,6个内容
  17. s[1:7:2]
  18. 获取s字符串中所有内容
  19. s[:]
  20. 获取s字符串中第4个到最后一个,每2个取一个
  21. s[3::2]
  22. 获取s字符串中倒数第5个到最开始,每3个取一个
  23. s[-5::-3] 

字符串的方法:

大小写

  1. s = "alex" s1 = s.upper() #全部大写 print(s1) s = "ALEX" s1 = s.lower() # 全部小写 print(s1)

应用场景

  1. s = input("验证码(AbC5)") if s.upper() == "AbC5".upper(): print("验证码正确") else: print("验证码错误!")

以什么开头

  1. s = "ALEX" s1 = s.startswith("E",2,6) print(s1)

以什么结尾

  1. s = "ALEX" s1 = s.endswith("X",3,4) print(s1)

统计

  1. s = "alexdxjbx"
  2. s1 = s.count("x")
  3. print(s1)
  4. 输出 3

脱: 字符串头尾两端的空格和换行符以及制表符

  1. n = input(">>>") if n.strip() == "alex": print("1") else: print("2") s = "alexdsba" s1 = s.strip("a") # 可以指定内容取脱 print(s1)

分割:以空格和换行符以及制表符进行分割

  1. s = "aelxlaaa" s1 = s.split("l",maxsplit=1) # 可以通过指定方式进行切割 print(s1)

替换:

  1. s = "大黑哥吃肉夹馍,肉夹馍"
  2. s1 = s.replace("肉夹馍","大煎饼")
  3. s1 = s.replace("肉夹馍","大煎饼",1) # 指定替换的次数
  4. print(s1)
首字母大写
  1. name = "alex" name1 = name.capitalize() print(name1) 输出 Alex
每个单词首字母大写
  1. name = "jerry home" print(name.title()) 输出 Jerry Home

-##### 大小写反转

  1. name = "JerryHome" print(name.swapcase()) 输出 jERRYhOME
居中—-填充
  1. name = "jerry" print(name.center(30,"*")) 输出 ************jerry*************
  • 查找 从左向右 只查找一个

    name = “jerry” print(name.find(“r”)) 输出 2 (代表第一个”r”的下标) print(name.find(“t”)) 输出 -1 (find 查找不存在的返回 -1) print(name.index(“t”)) index 查找不存在的就报错

拼接
  1. name = "jerry" print("_".join(name)) ***重点 输出 "j_e_r_r_y" name = "jerry" name1 = "*".join(name) print(name1) 输出 j*e*r*r*y name = "jerry" print("&".join(name)) 输出 j&e&r&r&y
  • 格式化
1.%s
2.f
3.name.format()
  1. name = "jerry{},{},{}" print(name.format(1,2,3)) #按照位置顺序进行填充 输出 jerry1,2,3 name = "jerry{2},{0},{1}" print(name.format("a","b","c")) #按照索引值进行填充 输出 jerryc,a,b name = "jerry{a},{b},{c}" print(name.format(a=1,c=2,b=3)) #按照关键字进行填充 输出 jerry1,3,2
  • 字符串 + * 会开辟新的空间

    name = “jerry” name1 = “home” print(id(name)) print(id(name1)) print(id(name + name1)) 输出 2609785706008 #内存地址都不同 2609817396424 2609818262256

is 系列:

s = “12.3”

  1. print(s.isalnum()) # 判断是不是字母,数字,中文 print(s.isalpha()) # 判断是不是字母,中文 print(s.isdigit()) # 判断字符串是不是全都是阿拉伯数字 print(s.isdecimal()) # 判断是否是十进制

转载于:https://www.cnblogs.com/lvtaohome/p/11215954.html

发表评论

表情:
评论列表 (有 0 条评论,411人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python中的字符串详解

    Python中的字符串 字符串(String)是字符序列,或者说是一串字符。 字符只是一个符号。例如,英语具有26个字符。Python 不支持单字符类型,单字符在 Py