一、字符串的相关方法
一、判断是字母还是数字字符串
str1 = '12345' str2 = 'abcde' str3 = 'abc123' str4 = 'abc123...'
-
isdigit: 判断字符串是不是一个数字字符串,返回True或False
结果为: True False False Falseprint(str1.isdigit(),str2.isdigit(),str3.isdigit(),str4.isdigit())
-
isalpha: 判断字符串是不是一个字母字符串,返回True或False
结果为: False True False Falseprint(str1.isalpha(),str2.isalpha(),str3.isalpha(),str4.isalpha())
-
isalunm: 判断字符串是否是数字字符串或字母字符串或数字-字母字符串,返回True或False
结果为: True True True Falseprint(str1.isalnum(),str2.isalnum(),str3.isalnum(),str4.isalnum())
二、对齐
- ljust、rjust、center等价于<、>、^(左对齐,右对齐,居中对齐)
结果为:
结果一: ***分隔符****
结果二: 分隔符*******
结果三: *******分隔符
str5 = '分隔符'
print(str5.center(10, '*'))
print(str5.ljust(10,'*'))
print(str5.rjust(10,'*'))
-
startswith \ endswith: 验证字符串首字母或结尾是否符合要求
tel = '135456789076'
输出结果为: True False
print(tel.startswith('135')) print(tel.endswith('1111'))
-
str(): 构造器语法:将其他数据类型转为字符串
示例:找出1000范围内的阿姆斯特朗数
for i in range(1, 1000): # print(str(i),type(str(i))) lenght = len(str(i)) numSum = 0 for j in str(i): numSum += int(j) ** lenght if numSum == i: print(f'{i}是阿姆斯特朗数')
-
**split:**切割,将字符串按照指定的符号进行切割,没有被切掉的元素被添加到一个列表中。
结果: [‘123’, ‘000’]
str1 = '123*000' list1 = str1.split('*') print(list1)
-
**join(): ** 按照指定的间隔符将容器中的字符串拼接到一起(前提:容器中所有元素必须都是字符串)
结果:
123+000
123000str2 = '+'.join(list1) print(str2) str3 = ''.join(list1) print(str3)
-
replace:替换,将新字符串替换到旧字符串的位置
用法: 字符串.replace(oldStr, newStr, 替换次数(不写表示全部))
结果:
123000
123,+00str1 = '123,000' print(str1.replace(',', '')) print(str1.replace('0', '+', 1))
-
**strip(): ** 默认将字符串两端中的空白符号去掉(空白符号包括:空格、换行等),也可以指定去除字符串两端的一些符号.
例子: 手机号身份证号,银行卡号等不需要参与计算得数字符号作为字符串存储
结果: 135****1110
tel = '13510101110' print(tel.replace(tel[3:7], len(tel[3:7]) * '*'))
-
王者荣耀屏蔽不文明用语原理。
- 人为收集不文明用语。“卧槽”、“臣卜木曹”
- 根据玩家输入的一句话去识别。
- 检测到,进行*替换,将替换完的结果输出
list1 = ['卧槽', '臣卜木曹', '菜鸡', '辣鸡', '垃圾']
content = '卧槽,你可真菜,菜鸡!!!'
for i in list1:
content = content.replace(i, '*' * len(i))
print(content)
-
count\index\find:
- count: 判断某个元素在字符串中出现次数。
- index、rindex
- index: 从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到报错。
- rindex:从右向左查找元素第一次出现的位置,返回正向下标。找不到报错。
-
find、rfind
- **find:**从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到返回-1
- **rfind:**从右向左查找元素第一次出现的位置,返回正向下标。找不到返回-1
示例:
结果: 6 8 8 6 8 8
content = '卧槽,你可真菜,菜鸡!!!'
print(content.index('菜'))
print(content.index('菜', 7))
print(content.rindex('菜'))
print(content.find('菜'))
print(content.find('菜', 7))
print(content.rfind('菜'))
二、转义字符
转义字符是字符串的一种,是具有特殊含义的字符串
一、概念:在很久以前,转义字符是反斜杠\加上ASCII码表中的数字(一般是八进制数字)组成有特殊含义的字符。
在C语言中规定反斜杠\加上ASCII码表中部分符号组成的字符,python使用的是C语言对应的形式。
二、常见的转义字符
\n: 换行,将鼠标光标移动到下一行开头
\t: 制表符tab键,能够对其字符串,\t的宽度不一定为四个空格,\t的长度 = 8 - 字符串长度 % 8
\r: 将鼠标光标移动到本行开头
\'、\"、\\表示’、 “、 \自身
转义字符长度为1
-
原始字符串
一 概念: 在字符串前面添加r或者R,就被叫做原始字符
二 作用: 将字符串中具有特殊含义的符号变得没有意义
结果:
D:\n\t\r…
D:\n\t\r…
str1 = 'D:\\n\\t\\r.......'
str2 = r'D:\n\t\r.......'
print(str1)
print(str2)