• Python学习杂记_3_字符串操作的常用方法


    字符串操作

    字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1

    Python针对字符串有个比较帅气的判断常常用在for循环里示意如下:

    names=”Tinada, Niuer, Zhangsan, Lisi, Wangwu, Zhaoliu”

    name=input(“Plz input the name: ”)

    for name in names:

         Print(“Your input is right!”)

    事实上,for循环是遍历字符串names里所有的元素,只是这细致的操作Python在幕后代劳了,我们看起来只是比对,输入的一串是不是存在于names的一串串里。

    以下所有字符串的方法,它都不会修改原来字符串的值,都会产生一个新的字符串,因为字符串一旦定义了就是不可变的,是不可变的变量,可以定义其他的变量来获取。

    name = 'heLLo world'

    import string

    print(string.ascii_letters+string.digits)#大小写字母+数字

    print(string.ascii_lowercase)#所有的小写字母

    print(string.ascii_uppercase)#所有的大写字母

    print(string.digits)#所有的数字

    print(name.lower())  # 变成小写

    print(name.upper())  # 变成大写

    print(name.capitalize())  # 首字母大写

    print('Abcdef'.swapcase())  # 大小写反转

    print(name.center(5, '*'))  # 50个*,把name放中间

    print(name.endswith('d'))  # 是否以d结尾,返回布尔值

    print(name.find('sss'))

    # 查找字符串的索引,找到的话返回第一次出现的索引,找不到返回-1

    print('mysql is is db'.rfind('is'))  # 返回最右边匹配到的字符串的第一个字符的下标,找不到返回-1

      

    print('abA123'.isalnum())  # 是否是“数字” 或 “英文字母” 或 “数字和英文字母”,返回布尔值

    print('abA'.isalpha())  # 是否是英文字母,返回布尔值

    print('122'.isdigit())  # 是否是数字,返回布尔值

    print('11sdf'.isidentifier())  # 是否是一个合法的变量名,返回布尔值

    print('aA'.islower())  # 是否是小写字母,返回布尔值

    print('AA'.isupper())  # 是否是大写字母,返回布尔值

    strnames = 'ABCEDF'

    print('¥'.join(strnames))

    print('strname:',strnames)

    # join是用来通过某个字符串拼接一个可迭代对象的的每个元素的

    注意:.join()方法拼接完的结果是字符串类型,所有时候这种方法被用于将列表转换成字符串。

    #所有字符串的方法,它都不会修改原来字符串的值,都会产生一个新的字符串

    print(' mysql '.lstrip())  # 默认去掉左边的空格和换行

    print(' mysql '.rstrip())  # 默认去掉右边的空格和换行

    print(' mysql '.strip())  # 默认去掉两边边的空格和换行

    print('mysqlm     '.strip('m'))

    #当你传入某个字符串的话,它就只会去掉你指定的字符串而不去管左右空格了。

    p = str.maketrans('abcdefg', '1234567')  # 前面的字符串和后面的字符串做映射

    # 第一部分固定为“被翻译对象”字符集,第二部分固定“翻译结果”翻译结果字符集,

    # 这两部分是有序的一一对应的,该方法生成了翻译结果字符,p获取了它,

    print('ccaegg'.translate(p))  # 按给出的顺序输出对应的翻译结果字符,33157

    # 观察下面的结果

    new_p = str.maketrans('1234567', 'abcdefg')

    print('ccaegg'.translate(new_p))

    st= 'mysql is db. mysql mysql mysql'

    print(st.replace('mysql', 'oracle'))  # 替换字符串

    name1 = 'zcl,py ,zyz'

    print(name1.split(‘,’))

    #切割字符串返回一个list,按照你指定的字符串去切割,然后放到一个list里面

    #如果你什么都不写的话,按照空格分割,多个空格也算一个

    print('1+2+3+4'.split())  # 切割字符串,返回一个list

    print('1+2+3 1+2+3+4'.splitlines())  # 按照换行符分割

  • 相关阅读:
    java设计模式--桥接模式
    java设计模式--单例模式
    java设计模式--迭代器模式
    java设计模式--组合模式
    java设计模式--备忘录模式
    java设计模式--适配器模式
    洛谷P1464 Function
    洛谷P2434 [SDOI2005]区间
    p1416攻击火星
    p1359租用游艇
  • 原文地址:https://www.cnblogs.com/houzhizhe/p/6889627.html
Copyright © 2020-2023  润新知