python 字符串常用操作

发布时间:2018-02-23 17:30:07编辑:admin阅读(3861)

    字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。


    首字母大写

    name = "zhangbichen"
    print(name.capitalize())

    执行输出 Zhangbichen


    统计关键字出现的次数

    print(name.count("h"))

    执行输出 2


    居中显示

    print(name.center(20,"-"))

    表示总共要输出20个字符串,字符串居中显示,如果不够20个,用-补充。


    执行输出:

    ----zhangbichen-----


    判断以什么结尾

    print(name.endswith("en"))

    如果条件符合,返回True,否则返回false

    执行输出 True


    查找字符串的索引位置

    print(name.find("gb"))

    从左向右数,gb在第4个位置

    执行输出 4


    切片

    字符串的切片方法和列表切片,方法是一样的

    print(name[name.find("gb"):9])

    执行输出 gbich


    格式化

    format针对变量进行赋值

    name = "{user} is {year} years old this year"
    print(name.format(user='zhangbichen',year=29))

    执行输出

    zhangbichen is 29 years old this year


    format_map 可以传一个字典

    name = "{user} is {year} years old this year"
    print(name.format_map({'user':'zhangbichen','year':29}))

    执行输出,同上


    判断是否是阿拉伯数字加字母

    如果还有其他字符,返回false

    print('abc123'.isalnum())

    执行输出 True


    判断是否是纯英文字符

    包含大写

    print('abc123'.isalpha())

    执行输出 False


    判断是否是一个十进制数

    print('abc123'.isdecimal())

    执行输出 False


    判断是否是一个整数,比较常用

    print('123.3'.isdigit())

    执行输出 False


    判断是否是一个合法的标识符

    合法的标识符相当于,一个合法的变量名

    print('a 1A'.isidentifier())

    执行输出 False


    判断是否是一个小写字母

    print('abc'.islower())

    执行输出 True


    判断是否是一个纯数字

    不允许有点或者其他字符

    print('333.33'.isnumeric())

    执行输出 False


    判断是否是一个空格

    print('333.33'.isspace())

    执行输出 False


    判断是否是一个标题

    print('My name is xubing'.istitle())

    执行输出 False


    istitle() 必须要求每个字母,首字母大写

    print('My Name Is Xubing'.istitle())

    执行输出 True


    判断是否可以打印

    print('My Name Is Xubing'.isprintable())

    执行输出 True


    一般的字符串,符号都可以打印。什么文件不能打印呢?比如linux的tty文件,它是linux的驱动文件,不能打印的。


    判断是否是纯大写字母

    print('My Name Is Xubing'.isupper())

    执行输出 False


    字符串拼接join(),这个方法比较常用

    print('+'.join(['1','2','3']))

    join可以将一个列表转换为字符串

    执行输出 1+2+3


    字符串填充,左对齐

    name = "zhangbichen"
    print(name.ljust(20,'*'))

    执行输出 zhangbichen*********


    字符串填充,右对齐

    name = "zhangbichen"
    print(name.rjust(20,'*'))

    执行输出 *********zhangbichen


    将大写字母变成小写

    name = "ZhangBiChen"
    print(name.lower())

    执行输出 zhangbichen


    将小写字母变成大写

    name = "ZhangBiChen"
    print(name.upper())

    执行输出 ZHANGBICHEN


    去除左边的空格和回车符

    name = "\nZhangBiChen"
    print(name.lstrip())

    执行输出 ZhangBiChen


    去除右边的空格和回车符

    name = "\nZhangBiChen\n"
    print(name.rstrip())

    执行输出


    ZhangBiChen


    去除左右两边的空格和回车符,这个用的比较多

    name = "   \nZhangBiChen\n   "
    print(name.strip())

    执行输出 ZhangBiChen


    maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

    注:两个字符串的长度必须相同,为一一对应的关系。

    p = str.maketrans("abcdef",'123456')
    print("zhangbichen".translate(p))

    由于a对应数字1,b对应数字2,后面的依此类推

    执行输出 zh1ng2i3h5n


    替换

    name = "zhangbichen"
    print(name.replace("h","H"))

    将h替换成H

    执行输出 zHangbicHen


    如果不想全部替换,可以接第3个参数

    name = "zhangbichen"
    print(name.replace("h","H",1))

    只替换一次

    执行输出 zHangbichen


    从左向右查找关键字最后一次出现的位置

    name = "zhangbichen"
    print(name.rfind("h"))

    执行输出 8


    按照分隔符拆分成列表,这个比较常用

    默认是按照空格拆分

    name = "zhang bi chen"
    print(name.split())

    执行输出

    ['zhang', 'bi', 'chen']


    提取数字部分

    name = "1+2+3+4"
    print(name.split("+"))

    执行输出

    ['1', '2', '3', '4']


    按照换行符拆分字符串,这个比较常用

    name = "1+2\n+3+4"
    print(name.splitlines())

    执行输出

    ['1+2', '+3+4']


    swapcase() 方法用于对字符串的大小写字母进行转换。

    name = "ZhangBiChen"
    print(name.swapcase())

    大写字母统一转换为小写

    小写字母统一转换为大写

    执行输出 zHANGbIcHEN


    zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

    name = "ZhangBiChen"
    print(name.zfill(20))

    执行输出 000000000ZhangBiChen


关键字