字符串
知识点
统计&定位
1 | # 统计字符串中字符的个数 |
判断类型
方法 | 说明 |
---|---|
str_name.isspace() | 判断是否只包含空格,返回true |
str_name.isalnum() | 若字符中至少有一个字符,且所有字符均为字母/数字,则返回true |
str_name.isalpha() | 若字符中至少有一个字符,且均为字母则返回true |
str_name.isdecimal() | 若字符中均为数字则返回true(全角数字) |
str_name.isdigit() | 若字符中只包含数字则返回true(全角数字、(1)、\u00b2) |
str_name.isnumeric() | 若字符中只包含数字则返回true(全角数字、汉字数字) |
str_name.istitle() | 若字符为**标题化(每个单词的首字母大写)**,则返回true |
str_name.islower() | 若字符中至少包含一个区分大小写的字符,且所有这些字符(区分大小写的字符都是小写,则返回True) |
str_name.isupper() | 若字符中至少包含一个区分大小写的字符,且所有这些字符(区分大小写的字符都是大写,则返回True) |
查找和替换
方法 | 说明 |
---|---|
str_name.startswith(“str”) | 检查字符串是否以str开头,返回true |
str_name.endswith(“str”) | 检查字符串是否以str结尾,返回true |
str_name.find(“str”, 0, len(str_name)) | 检查子字符串str是否包含再str_name中,返回字符串第一次出现的位置,否则返回-1。第二个参数:起始位置,第三个:终止位置 |
str_name.rfind(“str”, start=0, end=len(str_name)) | 与find函数相同,只不过是从右边开始寻找 |
str_name.index(“str”, start=0, end=len(str_name)) | 与index方法类似,只不过指定了范围,若搜索字符串不在父字符串中,则报错 |
str_name.rindex(“str”, start=0, end=len(str_name)) | 与index方法类似,是从右边开始寻找 |
str_name.replace(old_str, new_str, num=string.count(“old_str”)) | 将字符串中的子字符old_str替换成新字符new_str,若指定了num,则替换次数不超过num次。该方法不会修改原来的字符 |
大小写转换
方法 | 说明 |
---|---|
str_name.capitalize() | 将字符串中的第一个字符大写 |
str_name.title() | 将字符串中的每个单词首字母大写 |
str_name.lower() | 将字符串中所有大写字母全部转换为小写 |
str_name.upper() | 将字符串中所有小写字母转为大写 |
str_name.swapcase() | 反转字符串中的大小写 |
文字对齐
方法 | 含义 |
---|---|
str_name.ljust(width, ‘fillchar’) | 返回字符串左对齐,默认使用空格填充至长度width的新字符串,可指定fillchar填充 |
str_name.rjust(width, ‘fillchar’) | 返回字符串右对齐,默认使用空格填充至长度width的新字符串,可指定fillchar填充 |
str_name.center(width, ‘fillchar’) | 返回字符串居中对齐,默认使用空格填充至长度width的新字符串,可指定fillchar填充 |
去除空白字符
方法 | 含义 |
---|---|
str_name.lstrip() | 截掉str_name左侧(开始)的空白字符 |
str_name.rstrip() | 截掉str_name右侧(开始)的空白字符 |
str_name.strip() | 截掉str_name左右两侧的空白字符 |
拆分和拼接
方法 | 含义 |
---|---|
str_name.partition(str) | 将字符串拆分成3元素的元组(str左边, str, str右边) |
str_name.rpartition(str) | 类似于partition,只不过是从字符串的右侧拆分 |
str_name.split(str=””, num) | 以str作为分隔符切片str_name,如果num有指定值,则仅分割num+1个子字符,str默认包含’\r’、’\t’、’\n’和空格 |
str_name.splitlines() | 按照行(‘\n’、’\r’、’\r\n’)分割,返回一个包含各行作为元素的列表 |
str.join(str_list) | 以str作为链接符,将字符串列表str_list中所有的元素合并为一个新的字符串 |
切片
1 | # 切片是指利用索引来输出数据,其指定的区间是左闭右开型 |
作业
- 定义一个字符串shuai,其内容为:os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “HttpRunnerManager.settings”),并统计字符串中包含字符的个数
- 统计字符串中”en”字符出现的次数
- 定位到”envir”第一次出现的位置
- 判断字符串是否由空格组成,并打印出判断结果
- 判断字符串是否均由字母和数字组成,并打印出判断结果
- 判断字符串是否全由字母组成,并打印出判断结果
- 判断字符串是否全由阿拉伯数字组成,并打印出判断结果
- 在第一题基础上判断字符串是否只包含数字(数字包括全角数字、(1)、\u00b2),并打印出结果
- 在第一题基础上判断字符串是否只包含数字(数字包括全角数字、汉字数字),并打印出结果
- 判断字符串标题化,并打印出结果
- 判断当前字符串中的字母部分是否全部为小写
- 判断当前字符串中的字母部分是否全部为大写
- 判断字符串是否以”os”开头
- 判断字符串是否以“os”结尾
- 在字符串中从左向右查找字符”ner”的位置,寻找的起始位置为1,中止位置为字符串的末尾(两种方法)
- 在字符串中从右向左查找字符”ner”的位置,寻找的起始位置为2,中止位置为字符串的开头(两种方法)
- (问答)find方法、index方法寻找字符串时有什么区别
- 将字符串中出现的前两个的”en”替换成”ne”,并将替换后的字符打印出来
- 将字符串中第一个字母转换为大写
- 将字符串中的每一个单词的首字母转换为大写
- 将字符串中所有的字母转换为小写
- 将字符串中的所有的字母转为大写
- 将字符串中的小写字母转换为大写,同时将字符串中的大写字母转换为小写
- 扩充字符的长度至150个字符,并且设定有内部的部分左对齐,其它填充部分以字符*填充
- 扩充字符的长度至150个字符,并且设定有内部的部分右对齐,其它填充部分以字符*填充
- 扩充字符的长度至150个字符,并且设定有内部的部分居中对齐,其它填充部分以字符*填充
- 去除字符串左侧的所有空白字符
- 去除字符串右侧的所有空白字符
- 去除字符串两侧的所有空白字符
- 按照从左向右第一个出现的字符”en”将字符串分割成三部分的元组
- 按照从右向左第一个出现的字符”en”将字符串分割为三部分组成的元组
- 以字符串中.作为分隔符,将字符串分割为3个部分
- 将字符串按照行分割成为一个列表
- 创建一个列表test,其内容为[“shuai”,”qi”,”baqi”, “i”, “was”, “shuai”],然后使用链接符”-“,将test列表中各个元素拼接成一个字符串
- 通过切片打印出列表test前两个字符串
- 通过切片打印出倒数第二个元素到列表中第一个元素的信息
- 通过切片,从第一个元素开始,每隔一个元素,打印出一个元素信息
- 通过切片将列表的元素倒叙打印出来
- (问答)在切片中,列表的起始、终止的位置的包含关系是什么样的