Python基础:字符串操作

1、字符串的格式化输出

1.1、使用转换说明符%s(根据要转换的数据类型不同,有%d、%f等)

>>> format = "hello, %s"
>>> values = 'world'
>>> format % values
'hello, world'

1.2、使用字符串方法format

>>> "{}, {} and {}".format("one", "two", "three")
'one, two and three'

 1.3、使用f字符串

>>> name = "Joker"
>>> f"I am {name}"
'I am Joker'

2、字符串方法

2.1、format

format方法可以按顺序、参数名对要替换的字段进行匹配,具体用法略,这里主要讲下格式的设置。

①设置浮点数格式的宽度、精度和千位分隔符

>>> "{name:10}".format(name="Bob")  # 指定宽度
'Bob       '
>>> "{num:.2f}".format(num=3.1415926)  # 指定精度
'3.14'
>>> "I want RMB {:,}".format(10**9)  # 给数字添加千位分隔符
'I want RMB 1,000,000,000'

②设置符号、对齐和用0填充

>>> "{:010}".format(3.14)  # 使用0填充10位
'0000003.14'
>>> print("{0:<10}\n{0:^10}\n{0:>10}".format(3.14))  # < ^ >分别是左对齐、居中和右对齐
3.14
   3.14
      3.14
>>> "{:$^10}".format("Joker")  # 使用符号$填充
'$$Joker$$$'
>>> print("{:10}\n{:10}".format(3.14, -3.14))  # 默认使用空格填充
      3.14
     -3.14
>>> print("{:10}\n{:=10}".format(3.14, -3.14))  # “=”指定将填充字符放在符号和数字之间
      3.14
-     3.14

2.2、center:在两边填充字符(类似format的^)

>>> " Hello World ".center(30,"*")  # 默认使用空格填充
'******** Hello World *********'

ljust:在后端填充字符

rjust:在前端填充字符

zfill:在字符串左边填充0(但将+/-移到开头)

2.3、find:在字符串中查找子串,找到返回字串的第一个字符的索引,找不到返回-1

>>> title = "You are so beautiful"
>>> title.find("so")
8
>>> title.find("cool")
-1

rfind:返回找到的最后一个字串的索引,没有找到字串返回-1

index:返回找到的第一个字串的索引,没找到抛出ValueError异常

rindex:返回找到的最后一个字串的索引,没找到抛出ValueError异常

count:计算字串出现的次数

startswith:检查字符串是否以指定的子串开头

endswith:检查字符串是否以指定的子串结尾

2.4、join:合并序列的元素 

>>> "+".join(["a", "b", "c"])
'a+b+c'

2.5、split:将字符串拆分为序列

>>> 'a+b+c'.split("+")
['a', 'b', 'c']

partition:在字符串中搜索指定子串串,并返回元组(子串前部分、子串、子串后部分)

rpartition:与partition,但从右往左搜索

rsplit:与split相同,但从右往左

splitlines:返回一个列表,包含字符串中的所有行(如果参数keepends=True,将包含换行符)

2.6、replace:将指定子串替换为另一个字符串

>>> 'a+b+c'.replace("+","-")
'a-b-c'

2.7、strip:删除字符串开头和结尾的指定字符串(默认为空白),并返回删除后的结果

>>> "   abc   ".strip()
'abc'

lstrip:删除字符串开头的指定字符串(默认空白)

rstrip:删除字符串结尾的指定字符串(默认空白)

2.8、lower:返回字符串的小写版本

>>> "JOKER".lower()
'joker'

title:将字符串中所有单词的首字母大写,并返回结果

upper:将字符串中所有字母都转为大写,并返回结果

capitalize:返回字符串的副本,但将第一个字符大写

casefold:返回经过标准化的字符串(类似于转换为小写),但更适合用于对Unicode字符串进行不区分大小写的比较

swapcase:将字符串中所有字母的大小写都反转,并返回结果

translate:根据转换表(使用maketrans方法创建的)对字符串中的所有字符进行转换,并返回结果

2.9、判断字符串是否满足特定条件

isalnum:检查字符串中的所有字符是否都是字母或数字

isalpha:检查字符串中的所有字符是否都是字母

isdecimal:检查字符串中的所有字符是否都是十进制数

isdigit:检查字符串中的所有字符是否都是数字

isidentifier:检查字符串是否可用作Python标识符

isnumeric:检查字符串中的所有字符是否都是数字字符

isprintable:检查字符串中的所有字符是否都是可打印的

isspace:检查字符串中的所有字符是否都是空白字符

istitle:检查字符串中位于非字母后面的字母都是大写的,且其他所有字母都是小写的

isupper:检查字符串中的所有字符是否都是大写的

islower:检查字符串中的所有字符是否都是小写的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值