当前位置 博文首页 > 文章内容

    Python字符串对齐、删除字符串不需要的内容以及格式化打印字符

    作者:shunshunshun18 栏目:未分类 时间:2021-01-23 14:44:49

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    删除字符串中不需要的内容

    1、strip()方法

    strip:默认是去掉首尾的空白字符,但是也可以指定其他字符;

    lstrip:只去掉左边的;

    rstrip:只去掉右边的;

    print('+++apple '.strip()) # '+++apple'
    print('+++apple '.lstrip('+')) # 'apple '
    print(' apple '.rstrip()) # ' apple'
    

    这个只能去除首尾的,如果想去除中间的字符,可以使用倒replace()方法

    2、replace()方法

    replace:将字符串中所有需要替换的字符替换成指定的内容,如果指定次数count,则替换不会超过count次;原来的字符串不会改变,而是生成一个新的字符串来保存替换后的结果。

    word = 'he22222222o'
    m = word.replace('2', 'x', 4)
    n = word.replace('2', 'x')
    print(word) # he22222222o
    print(m) # hexxxx2222o
    print(n) # hexxxxxxxxo
    print(word.replace('2','+-'))# he+-+-+-+-+-+-+-+-o
    
    z = 'hello  world'
    print(z.replace(' ',''))# helloworld
    

    字符串对齐

    ljust(width,fillchar) :返回一个左对齐的长度为width的字符串,要是字符串长度小于width则在右边用所给填充字符补齐

    rjust(width,fillchar) :右对齐,同上

    center(width,fillchar):居中,同上

    print('hello'.ljust(10, '+'))# hello+++++
    print('hello'.rjust(10))# '  hello'
    print('hello'.center(10, '='))# ==hello===
    

    format()函数

    ‘<':左对齐,右补齐

    ‘>':右对齐,左补齐

    ‘^':居中,左右补齐

    默认也是使用空格补齐,可以在这三个符号前给定字符,作为填充字符

    text = 'hihi'
    print(format(text, '>20'))# '    hihi'
    print(format(text, '+<20'))# 'hihi++++++++++++++++'
    print(format(text, '-^20'))# '--------hihi--------'
    

    格式化打印字符

    f-string:建议使用

    name = '张三'
    age = 18
    print(f'我叫{name},今年{age}岁')# 我叫张三,今年18岁
    

    : 号后面带填充的字符,只能是一个字符,多了会报错,不指定的话默认是用空格填充;

    b、d、o、x 分别是二进制、十进制、八进制、十六进制;

    .nf保留n位小数

    .n%让小数变为百分数,并保留n位小数

    print('{:b}'.format(255))# 11111111
    print('{:d}'.format(255))# 255
    print('{:o}'.format(255))# 377
    print('{:x}'.format(255))# ff
    print('{:X}'.format(255))# FF
    
    print('{:.2f}'.format(10))# 10.00
    print('{:.0f}'.format(10.11))# 10
    
    print('{:+^20}{:^20}'.format('QAQ','AQA'))# '++++++++QAQ+++++++++  AQA   '
    print('{:^>20}{:^<20}'.format('QAQ','AQA'))# '^^^^^^^^^^^^^^^^^QAQAQA^^^^^^^^^^^^^^^^^'
    
    # 这是我们使用较多的一种方法
    print('我叫{},我今年{}岁了'.format('张三', 21))# 我叫张三,我今年21岁了
    
    # {数字}会根据数字的顺序进行填入,数字从0开始
    print('我叫{1},我今年{0}岁了'.format(21, 'zhangsan'))# 我叫zhangsan,我今年21岁了
    
    # {变量名}
    print('我今年{age},我叫{name},我喜欢{sport}'.format(sport='打篮球', name='zhangsan', age=18))
    # 我今年18,我叫zhangsan,我喜欢打篮球
    
    # 通过列表索引设置参数
    d = ['zhangsan', '18', '湖南', '180']
    print('我叫{},我今年{},我来自{},我身高{}'.format(*d))# 我叫zhangsan,我今年18,我来自湖南,我身高180
    e = ['hello', 'world']
    print("{0[0]} {0[1]}".format(e))# '0'是必须的
    # hello world
    
    # 通过字典索引设置参数
    # **info对字典进行拆包
    # 我觉得应该是变成了('name'='zhangsan','age'= 18,'height'=180,'addr'='湖南')
    # 类似于给**kwargs传多个关键字参数一样
    info = {'name':'zhangsan','age': 18,'height':180,'addr':'湖南',}
    print('大家好我是{name},我今年{age}岁,我来自{addr},我身高{height}'.format(**info))
    # 大家好我是zhangsan,我今年18岁,我来自湖南,我身高180
    

    总结