脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )

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

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

总结

上一篇:selenium+超级鹰实现模拟登录12306
下一篇:使用numpngw和matplotlib生成png动画的示例代码
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。