字符串类型的内置方法

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()

  1. 上节课我们学习过一种用占位符%s%d进行格式化输出。回顾一下。
print(\'name is %s ,  age is %d\'%(\'oliver\', 23))

注:占位符%s能给任何类型数据占位,%d只能给数字类型数据展位

  1. 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))  # 后两个参数指定寻找的起始索引值,从右至左
**附:另外index()与find()功能差不多,不过找不到数据时会报错,所以不推荐使用**
    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())  # 使字符串的每个单词的首字母大写

以上是关于字符串类型的内置方法的主要内容,如果未能解决你的问题,请参考以下文章

字符串类型的内置方法

数据类型内置方法

数据类型的内置方法 可变类型与不可变类型

数据类型内置方法之数据类型与字符串类型

字符串类型内置方法

python之字符串,列表,字典内置方法总结