0
点赞
收藏
分享

微信扫一扫

python中字符串相关的函数/方法

程序猿不脱发2 2022-04-21 阅读 59
python

字符串是python中常用的数据类型,通常是由双引号单引号括起来的数字、字母、下划线等组成,通过一个等号赋值给一个变量;
先来复习一下之前学的关于字符串的一些基础知识哈~
字符串取值: 有两种取值方法

  • 从左到右索引默认0开始,最大时字符串长度减1
  • 从右开始索引默认-1开始,
    索引可以从两个方向取值

字符串切片str[头下标: 尾下标: 步长],头下标不写,默认从头取值,尾下标不写默认取到尾,步长不写默认尾1,左开右闭原则,即不包含尾下标的字符;

字符串运算符:

操作符描述
+字符串连接
*重复输出字符串
in成员运算符,如果字符串中含给定的字符串返回True
not in成员运算符,如果字符串中不包含给定的字符串则返回True

字符串格式化:

  • %s - 格式化字符串; %d - 格式化整数; %f - 格式化浮点数,默认保留6尾小数可指定小数点后的精度;
  • “str{等待插入的数据 }”.format( “要插入的值”)
  • 简写 :如下,是.format的另一种写法
name1 = "小明"
name2 = "小红"
print(f"我的名字{name2},你的名字{name1}")

字符串常用的方法

  • string.index(str, beg=0, end=len(string)) : 返回某个或者某些字符串中的位置, 默认从头开始查找,也可以指定位置进行查找,str:指定检索的字符串,beg:开始索引,默认为0,end:结束索引,默认为字符串的长度;
  • string.find(str) : 返回字符在字符串中的位置,如果找不到字符则返回-1(可指定位置查找);
  • string.count(str): 返回字符在字符串中出现的次数,可指定起始位置(可指定位置查找);
  • string.isdigit(str): 判断字符串中是否只包含数字,如果是纯数字则返回True,否则返回False;
  • string.strip(str): 默认去除空格,只能去两端,不能去除中间的空格;
  • string.replace(参数1,参数2): 替换指定的字符,参数1:表示要替换的字符,参数2:表示替换后的字符,返回的是str类型;
  • string.startwith(str): 判断字符串是否以某个或某些字符开头,返回布尔类型 (可指定位置查找);
  • string.endswith(str): 判断字符串是否以某个或某些 字符结尾,返回布尔类型 (可指定位置查找);
  • string.split(str): 切割字符串,以参数作为分隔符,切割后得到的是一个列表;
str1 = 'abcdef'
str1_num = '12345'
print(str1.index('c'))  # 返回某个或某些字符在字符串中的起始位置,默认从头开始查找,也可以指定起始位置进行查找
print(str1.find('g'))  # index()找不到值抛异常,find()找不到值返回-1
print(str1.count('c'))  # 返回字符在字符串中出现的次数
print(str1.count('c', 0, 2))  # 返回指定范围内字符在字符串中出现的次数,如果不写默认整个字符串
print(str1.isdigit())  # False 判断字符串是否只包含数字,如果是返回True,否则返回False
print(str1_num.isdigit())  # True


str2 ='   ***a  b  c ***   '
print(str2.strip())  # strip() 默认去空格, 只能去两端的,不能去除中间的空格


# replace(参数1, 参数2)  # 替换指定的字符,参数1:需要替换的字符,参数2:替换后的字符,返回str类型
str3 ='   ***a  b  c ***   '
str3_new = str3.replace('*', '').replace(' ',  '')
print(str3_new)


# startwith() 判断字符串是否以某个或者某些字符串开头,返回的是布尔类型
# endswith() 判断字符串是否以某个或某些 字符串结尾,返回布尔值
id_card = '410210419910209345X'
if id_card.startswith('3201'):
    print('南京的身份证')
else:
    print('非南京身份证')

print(id_card.endswith('X'))  # True  字符串已X结尾所以返回True
print(id_card.endswith('X', 0, 13))  # False 指定下标从0-13之间是否以X结束,如果是返回True,如果否返回False
举报

相关推荐

0 条评论