0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python之字符串格式化的3种方式

冬至配饺子 来源:缪斯之子 作者:肖新苗 2022-08-23 10:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

字符串格式化的3种方式

def test_1():

1.格式化的方式

dog = 'dog'
str1 = 'This is a %s' % dog
str2 = 'This is {} {}'.format('a', dog)
str3 = f'This is a {dog}'
assert 'This is a dog' == str1, r'% format error'
assert 'This is a dog' == str2, '{} format error'
assert 'This is a dog' == str3, 'f-string format errorr'
填充零的方式

def test_2():

2.填充零的方式

price = 123

# 其实我就用这一种, 后面的仅供参考

assert '0123' == f'{price:0>4}', 'format 3 error'

assert '0123' == '%04d' % price, ' format 1 error'

assert '0123' == str(price).rjust(4, '0'), 'rjust error'

assert '0123' == str(price).zfill(4), 'zfill error'

assert '0123' == '{:0>4}'.format(str(price)), 'format 2 error'

find和rfind获取字符串索引

def test_4():
# 4 startswith,find
raw = 'hello world $1 $2'
b1 = raw.startswith('hello')
assert b1, 'startswith error'
i1 = raw.find('$')
i2 = raw.rfind('$')
assert 12 == i1, 'find error'
assert 15 == i2, 'rfind error'

replace和正则替换

def test_5():
# 查找并替换
raw = 'hello world hello 1'
str1 = raw.replace('hello', 'good', 1)
assert 'good world hello 1' == str1, 'replace error'

reg = re.compile(r'^hello')
str2 = reg.sub('good', raw)
assert 'good world hello 1' == str2, 'replace error'

reg = re.compile(r'hello')
str3 = reg.sub('good', raw, 1)
assert 'good world hello 1' == str3, 'replace error'

split和rsplit

def test_7():
# split
raw = 'I am from jingzhou'
a1 = raw.split(' ')
assert {'I', 'am', 'from', '', 'jingzhou'} == set(a1), 'split error'
# \s+ 正则表示用1个或者多个空格分割,所以am from之间的两个空格会当做1个分割符去分割
a2 = re.split(r'\s+', raw)
assert {'I', 'am', 'from', 'jingzhou'} == set(a2), 'split re error'

# 取最后一个值
a3 = raw.rsplit(' ', 1)[1]
assert 'jingzhou' == a3, 'rsplit error'

字符串转数字

def test_8():
# 数字 isdecimal 不可以汉字,isdigit 不可以汉字, isnumeric可以汉字
# 我会优先用isdecimal,因为比较干净
raw1 = '123'
raw2 = '五'
assert raw1.isdecimal() == raw1.isdigit(
) == raw1.isnumeric() == True, 'isdecimal error'

assert not raw2.isdecimal(), 'isdecimal error'
assert not raw2.isdigit(), 'isdigit error'
assert raw2.isnumeric(), 'isnumeric error'
isspace和join

def test_9():
# isspace
raw = ' '
assert raw.isspace(), 'isspace error'


def test_10():
# join
raw1 = ['a', 'b', 'c']
assert 'a:b:c' == ':'.join(raw1)



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字符串
    +关注

    关注

    1

    文章

    596

    浏览量

    23264
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90424
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    函数printf格式介绍

    ;格式控制字符串\",输出表项); 格式字符串的形式为:% [输出最小宽度] [.精度] [长度] 类型 例如:%d格式符表示用
    发表于 04-29 06:06

    求助 LabVIEW 字符串比较

    请教大神 ,用一个字符串和多个字符串比较程序应该怎么做。 比如:A字符串和B字符串组(B组字符串个数不定可以是一个也可以是10个) 比较 A
    发表于 03-02 17:24

    打开工程后工程中的字体没有显示,如字符串,数字等控件不能预览显示字体?

    打开工程后工程中的字体没有显示,如字符串,数字等控件不能预览显示字体?
    发表于 02-25 17:39

    华为鸿蒙系统应用数字与度量衡的格式化指南

    本文旨在深入探讨华为鸿蒙 HarmonyOS 系统在应用国际中数字与度量衡格式化方面的技术细节,基于实际开发实践进行总结。
    的头像 发表于 01-24 16:55 1706次阅读

    字符串控件与静态字符串控件中预览字符显示乱码,如何修改显示正常?

    字符串控件与静态字符串控件中预览字符显示乱码,如何修改显示正常?
    发表于 01-20 17:17

    字符串,数字控件如何控制背景颜色和前景字体颜色?

    字符串,数字控件如何控制背景颜色和前景字体颜色?
    发表于 01-20 15:12

    Linux下怎么让中文字符串按照拼音排序?

    求教 Linux 下怎么让中文字符串按照拼音排序?
    发表于 01-06 07:40

    字符串关联数字变量如何使用?我们的地址都是16位数据,可以使用16位数字变量显示字符串吗?

    字符串关联数字变量如何使用?我们的地址都是16位数据,可以使用16位数字变量显示字符串吗?
    发表于 12-15 08:24

    飞凌嵌入式ElfBoard-标准IO接口格式化输入

    , ... );3)参数format:表示格式化字符串,用于指定输入数据如何进行格式转换,有如下三情况。空格
    发表于 11-12 08:35

    飞凌嵌入式ElfBoard-标准IO接口格式化输出

    ( const char *format, ... );3)参数format:表示C 字符串,包含了要打印的格式化数据。...:表示附加可变参数,根据不同的 format 字符串,函数
    发表于 11-11 08:43

    求助,关于使用sprintf函数格式化浮点数的安全问题求解

    (); return n; } 经过测试,未关闭调度之前,线程被打断再恢复之后,格式化的数据可能是一些乱码,甚至程序跑飞了.如果使用这个字符串很容易死机,主要是data abort异常.加入关闭调度之后,能够得到
    发表于 10-09 08:22

    labview如何生成一个带字符串返回的dll

    labview如何生成一个dll,如下图,要求一个输入,类型是字符串,返回类型也是字符串
    发表于 08-28 23:20

    Python字符串逆序有几种方式,代码是什么

    对于一个给定的字符串,逆序输出,这个任务对于python来说是一很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下
    的头像 发表于 08-28 14:44 1390次阅读

    harmony-utilsFormatUtil,格式化工具类

    harmony-utilsFormatUtil,格式化工具类
    的头像 发表于 07-03 18:22 731次阅读

    harmony-utilsStrUtil,字符串工具类

    harmony-utilsStrUtil,字符串工具类 harmony-utils 简介与说明 [harmony-utils] 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类
    的头像 发表于 07-03 11:32 911次阅读