字符串类型的内置方法
Posted Oliver-Chance
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串类型的内置方法相关的知识,希望对你有一定的参考价值。
字符串类型的内置方法
字符串类型的内置方法昨天已经讲了一部分了,今天来补充一下剩余的内置方法
移除字符串首尾的特定字符: strip()
str_name = \'###oliver-chance###\'
# 移除字符串首尾的指定字符,可以选择方向
print(str_name.strip(\'#\')) # 去除首尾的字符,默认空格,可以括号里加指定字符
print(str_name.lstrip(\'#\')) # 去除首的指定字符,默认空格,可以括号里加指定字符
print(str_name.rstrip(\'#\')) # 去除尾的指定字符,默认空格,可以括号里加指定字符
字符串里的大小写相关方法
- 大小写转换:upper()、lower()
str_name = \'Oliver-Chance\'
print(str_name.lower()) # 将所有字母转换成小写
print(str_name.upper()) # 将所有字母转换成大写
- 判断字符串里的数字是否都是大写或者小写:islower()、isupper()
str_name = \'Oliver-Chance\'
print(str_name.islower()) # 判断字符串是否全是小写
print(str_name.isupper()) # 判断字符串是否全是大写,返回结果为布尔值 False
ustr_name = str_name.upper() # 将str_name 全部转换成大写并赋给ustr—name
print(ustr_name.isupper()) # True
- 应用问题:验证码忽略大小写的实现
现实中注册账号或者有什么信息是需要本人确定的,一般就会向账户所有人发一个验证码,用来验证身份,不过现在的验证码一般是不区分大小写的。下面我们用python代码实现以下这个问题。
real_code = \'Rs666\'
print(\'随机验证码是:%s\' % real_code)
user_code = input(\'验证码是:\') # 获取用户输入的验证码
# 先把用户输入的验证码和系统的验证码都转换成小写再进行比较
if real_code.lower() == user_code.lower():
print(\'验证码正确\')
else:
print(\'验证码错误\')
判断字符串首尾是不是指定字符:startwith()、endwith()
str_name = \'Oliver-Chance\'
print(str_name.startswith(\'O\')) # 判断字符串的开始是不是指定字符,结果是布尔值
print(str_name.startswith(\'o\'))
print(str_name.endswith(\'E\')) # 判断字符串的开始是不是指定字符,结果是布尔值
print(str_name.endswith(\'e\'))
格式化输出:format()
- 上节课我们学习过一种用占位符
%s
和%d
进行格式化输出。回顾一下。
print(\'name is %s , age is %d\'%(\'oliver\', 23))
注:占位符%s
能给任何类型数据占位,%d
只能给数字类型数据展位
- format()格式化输出用法
- 类似占位符的用法,可更改位置用
占用,打印的字符串和替代信息之间的
%
用.format
替代
# 默认依次索引,每个元素只能被索引一次
print(\'my name is my hobby is \'.format(\'oliver\', \'music\'))
# 指定索引值,每个与纳斯可被多次索引
print(\'my name is 0 1 my hobby is 0 1\'.format(\'oliver\', \'music\'))
- 直接索引指定的值
# 每个元素可被多次索引
print(\'my name is name name my hobby is hobby \'.format(name = \'oliver\', hobby = \'music\'))
- 直接使用已经有的变量
name = \'oliver\'
hobby = \'music\'
print(f\'my name is name name my hobby is hobby\') # 变量名可以被多次使用
拼接字符串:不同的字符串用+
,相同的字符串用*
str_name1 = \'hey, baby \'
str_name2 = \'how are you?\'
print(str_name1 + str_name2) # 用加号拼接字符串
print(str_name1 * 3) # 3个同一字符串拼接
print((str_name1 + str_name2) * 2) # 加号拼接和重复拼接可以混用,设定好先后顺序就好
# 将指定字符插入字符串里,join内的内容必须都是字符串才可以,相当于对括号内的字符串的字符进行for循环
print(\',\'.join(str_name2))
替换字符串里的指定字符:replace()
str_name = \'Oliver-Chance\'
print(str_name.replace(\'e\', \'a\')) # 用第二个参数替换第一个参数,默认替换全部
print(str_name.replace(\'e\', \'a\', 1)) # 第三个参数确定替换的个数,从左至右依次替换
判断字符串是否是纯数字:isdigit()
str_name = \'oliver686\'
print(str_name.isdigit()) # 判断str_name是否是纯数字,结果是布尔值 False
print(\'54321\'.isdigit()) # True
查找指定字符所对应的索引值:find()
str_name = \'oliver68686868\'
print(str_name.find(\'v\')) # 从左至右依次寻找,输出结果为-1时,说明字符串里并不含有这个字符
print(str_name.rfind(\'8\')) # 从右至左,依次寻找
print(str_name.find(\'6\', 2, 12)) # 后两个参数指定寻找的起始索引值,从左至右
print(str_name.rfind(\'6\', 2, 12)) # 后两个参数指定寻找的起始索引值,从右至左
str_name = \'oliver68686868\'
print(str_name.index(\'3\')) # 与find关键字一样的功能,不过当字符串内找不到该内容时,会报错,不推荐使用
文本改变位置:center()、ljust()、rjust()
str_name = \'oliver68686868\'
"""将字符串放在新字符串的中间,第一个参数是限定字符串的总字符个数,
第二个参数是用什么字符把字符串补够位数,默认是空格
"""
print(str_name.center(30, \'#\'))
print(str_name.ljust(30, \'#\')) # 将字符串放在左边
print(str_name.rjust(30, \'#\')) # 将字符串放在右边
特殊作用字符:换行符\\n
,制表符\\t
,响铃\\a
print(\'oliver\\nchance\\tage\\ahobby\')
# \\n表示换行,\\t表示制表符,\\a表示响铃(只有在cmd窗口运行才有效果)
字母大小写操作
- 首字母大写:capitalize()
str_name = \'hey baby, how are you?\'
print(str_name.capitalize()) # 使字符串的首字母大写
- 大小写翻转:swapcase()
str_name = \'Hey Baby, How Are You?\'
print(str_name.swapcase()) # 使字符串的大小写翻转过来,大写变小写,小写变大写
- 字符串内每个单词的首字母大写:title()
str_name = \'hey baby, how are you?\'
print(str_name.swapcase()) # 使字符串的每个单词的首字母大写
以上是关于字符串类型的内置方法的主要内容,如果未能解决你的问题,请参考以下文章