str字符串详解(18种方法)

2019-02-02  本文已影响0人  寻心之旅

只要有特殊字符隔开才能分别认为是多个单词(中文也是特殊字符)

例aa_bb 为2个单词
1)s = name.title() 每个字母首字母大写

  1. s = name.capitalize() 第一个单词首字大写

  2. s= name.upper() 所有字母全部大写

应用场景

yzm = 'o98K' #定义验证码

y_zm = input("输入验证码(o98K)") # 输入验证码

if yzm.upper() == y_zm.upper():

# if O98K == O98K

print('验证码正确')

else:

print("验证码错误")

  1. s1 = name.lower() 所有字母全部小写

  2. s2 = name.count('w') 计数 统计 返回的为数字(统计字符串中w出现的次数)

  3. s = name.find('m') 查找索引位置返回索引号 查找不存在的就返回-1 (返回m的第一个位置)

  1. s1 = name.index('m') 查找索引位置返回索引号 查找不存在的就报错(让你滚)
    索引(下标)
    m e e t
    0 1 2 3 从左向右
    -4 -3 -2 -1 从右向左

name = 'meet'
print(name[0])0位置对应的字母,结果为m
切片

记忆技巧: [0:3] ,3-0=3 3个数 从0开始 当然是0,1,2
[-1:-4:-1] -1-(-4)=3 3个数 从-1开始 当然是-1,-2,-3
print(name[0:3]) # [起始位置:终止位置] (终止的不包含)
结果mee
顾头不顾腚 从左到右

print(name[-1:-4:-1]) # [起始位置:终止位置:步长] (步长正负为方向,-1从右到左,默认1从左到右)
自己不写的时候默认是1
注意:起始位置:中止位置的方向需要与 步长的方向一致 否则输不出来
省略写法: [:] 表示从0到正无穷 [:3]表示3位数,即从0到2.

总结: 下标(索引)

从左往右 0开始 从右往左 -1 开始

切片

从左往右 [起始位置:终止位置] 如果[-1:-4] 这样可以取到内容吗? 是不可以的

步长(扯蛋) [起始位置:终止位置:步长] (方向) 默认使用是1 也就是从左往右

想要从右往左 步长写为 -1

可以一次性跨多个(例如我们写的步长为2,3,4,5

  1. s = name.center(100,"-") 字符串居中
    空间共100位置,字符串居中,其余空白位置由"_"填充.
    name = "meet"
    s7 = name.center(10,"*") # 居中 第一个放数字,第二个放要填充的内容
    print(s7)
    结果 meet

9)s8 = name.split("e") 字符串分割 # 分割 ############## 非常非常重要
注意,字符串分割的符号如果在字符串最后,则生成的列表最后一定要加一个空字符''

split()默认使用的是空格

可以将字符串转换成 "列表" 注意是"列表"

面试题 通过代码一行把字符串转换成列表

例:
ms = input("输入账号和密码 用|分割:") 输入root|123
lst = ms.split("|") 使用"|"分割
print(lst)

10)s = name.strip("alex") 字符串首位脱字符 # 脱 strip()默认脱的是头尾俩边的空格

# 我们指定要脱的时候 只能脱头尾的内容 注意 是 头和尾巴

# 默认脱空格和换行符 \n == 键盘上的回车

应用场景:

user = input("请输入用户名:").strip() #默认脱空格
pwd = input("请输入密码:").strip()

if user == 'alex' and pwd == 'alex3714':
print('可以取钱了')
else:
print('不能取钱')

11)s = '_'.join(lst)指定字符把列表或者字符串拼接成新的字符串 (注意格式和其他的全都不同!)

lst = ['1','2','3'] #可以为列表,也可以为字符串.
s = ''.join(lst) #指定""来拼接字符串
print(s) #结果为1_2_3

自己写算法 搞定

用代码一行把列表转换成字符串

12)s = name.replace('需要被替换的内容','用什么来替换') 字符串的替换

name = ' a l e x n b '

s = name.replace(' ','')(把空格替换成空字符,即去空格) #替换 # 第一个是要被替换的内容,第二是要什么替换

# 牛逼之处

print(s)

13)s = name.startswith('w') 判断字符是否以指定字符开头

name = 'wusir'

s = name.startswith('w') # 以什么开始 获取的结果是布尔值

print(s)

14)s1 = name.endswith('i') 判断字符是否以指定字符结尾 # 以什么结尾 获取的结果是布尔值
15)s = name.format('是个','心','肝') 格式化输出

a)# name = '武藤兰{}小{}{}'

s = name.format('是个','心','肝') # 按照占位的顺序来填充

b)# name = '武藤兰{0}小{2}{1}'

s = name.format('是个','心','肝') # 按照索引来对应填充

结果是 武藤兰是个小肝心

c)# name = '武藤兰{a}小{b}{c}'

s1 = name.format(a='是个',b='演',c='员') # 按照关键字对应填充

格式化

print(s1)

is 系列
name = '12341234'

16)s = name.isalnum() 判断字符串是不是数字和字母组成

17)s1 = name.isalpha() 判断字符串是不是由纯字母组成

18)s2 = name.isdigit() 判断字符串是不是由纯数字组成 ######

上一篇下一篇

猜你喜欢

热点阅读