python 字符串的使用

python 的字符串类型内置了许多的函数:

"abc".upper()将英文字符转为大写,生成结果:ABC
“ABC”.lower()将英文字符转为小写,生成结果:abc
"{name} is {job}".format(name="小明", job="student")将字符串中的{}变量与对应字典的值进行格式化,生成的结果为:小明 is student
"{0} is {1}".format("小明", "student")将字符串中的{}变量与对应字典的值进行格式化,生成的结果为:小明 is student
"Hello world!".count("l", 1, 10))

查询字符串中某字符串出现的次数,第一个参数为查询的字符串,

第二个参数为起始位置,第三个参数为结束位置,查询时不包括结束位置,生成结果:3

"abcD".capitalize()将字符串的首字母转为大写,其他字母转为小写,生成结果:Abcd
"abcD".swapcase()将字符串中的大写字母转为小写,小写字母转为大写,生成结果:ABCd
"abcD".join(["abc", "def", "xyz"]))将数组中的字符串使用调用方法的字符串拼接成新的字符串,生成结果:abcabcDdefabcDxyz
"abcD".lstrip("a")

根据参数中的字符串删除目标字符串左边匹配的字符串;当参数为空时,删除左边的空格,

生成结果:bcD

"abcdef".rstrip("ef")

根据参数中的字符串删除目标字符串右边匹配的字符串;当参数为空时,删除左边的空格,

生成结果:abcd

"abcD".casefold()对非中文语言的字符进行大写转为小写
"abcD".center(9, "b")

调用center函数时,第一个参数指定返回字符串的长度,第二个参数时左右填充的字符串,

填充的方式为对称填充,长度不能满足左右填充数量相同,先填充左边的字符串,

生成结果:bbbabcDbb

"abcefgD".endswith("bc", 1, 3))查询字符串中是否以第一个参数结尾,第二个参数指定字符串的开始位置,第三个参数指定字符串的结束位置,不包括结束位,生成结果:True
"abcefgD".startswith("bc", 1, 3))查询字符串中是否以第一个参数开始,第二个参数指定字符串的开始位置,第三个参数指定字符串的结束位置,不包括结束位,生成结果:True
"\tabc\tefgD".expandtabs()设置字符串中的制表符空格数量,不设置默认为8个空格,生成结果:        abc     efgD
"abcefgD".find("bc", 1, 3)/"abcefgD".index("bc", 1, 3)

查找字符串中第一个匹配的索引,第二个参数设置开始位,第三个参数设置结束位,不包括结束位,生成结果:1 

find 查询不到则返回-1,index 查询不到抛出异常

"abcD{name}".format_map({"name": "xiaoming"}))传入字典参数,根据字符串中的{}中的键名,使用字典值来替换,生成结果:abcDxiaoming
"sbcDab你好".isalnum()

查询字符串中至少有一个字符,并且字符串都由字母、中文和数字组成,

生成结果:True

"abc你好".isalpha()查询字符串中至少有一个字符,并且字符串都由字母和中文组成,生成结果:True
"11.1".isdecimal()

查询字符串中至少有一个字符,并且为十进制字符串,这种方法只存在于unicode对象。

生成结果:False

"11".isdigit()查询字符串中至少有一个字符,并且都为数字,生成结果:True
"def".isidentifier()判断字符串是否为python语言中的标识符
"10".isnumeric()isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象
"a10".islower()判断字符串中至少有一个字母,并且所有的字母都为小写,生成结果:True
"a10".isupper()判断字符串中至少有一个字母,并且所有的字母都为大写,生成结果:False
"a10".isprintable()判断字符串中至少有一个字母,并且输出字符串时可以原样输出(所有字符是否都属于可见字符),生成结果:True
"asef".isspace()判断字符串中至少有一个字符,并且所有的字符都为空格,生成结果:True
"Hello World!".istitle()判断字符串中至少有一个字符,并且字符串中的每一个单词开头为大写,其余为小写,生成结果:True
"abc".ljust(10, "w")第一个参数为返回的字符串长度,若长度小于或等于原字符串,则返回原字符串,若大于源字符串的长度,使用第二个参数填充,不输入第二个参数,默认填充空格,生成结果:abcwwwwwww

  intab = "aeiou"
  outtab = "12345"
  deltab = "thi"

  trantab1 = str.maketrans(intab, outtab)  # 创建字符映射转换表
  trantab2 = str.maketrans(intab, outtab, deltab)  # 创建字符映射转换表,并删除指定字符

  test = "this is string example....wow!!!"
  print(test.translate(trantab1))
  print(test.translate(trantab2))

函数maketrans将参数一的字符对应参数二的字符组成字典值,第三个参数的字符串对应的参数一的键对应的值设置为None

函数translate将调用此函数的字符串对应maketrans函数返回的字典值替换掉对应键的值赋值到调用字符串,

生成结果:

th3s 3s str3ng 2x1mpl2....w4w!!!
s s srng 2x1mpl2....w4w!!!

"abcbc".replace("bc", "ng", 2)替换源字符串中的子字符串,根据第一个参数进行搜索,第二个参数进行替换,第三个参数是替换次数,生成结果:angng
"www.baidu.com".partition(".")

对源字符串根据某字符串进行分割,返回分割后的元组,

生成结果:('www', '.', 'baidu.com')

"abcdef".rfind("de", 1, 8)

查找字符串与第一个参数匹配的最后一个匹配的所引值,第二个参数是开始查找位置,第三个参数是结束查找位置,查询不包括结束位,

生成结果:3

"abcdef".split("cd")

根据参数字符串对源字符串进行分割,返回字符串集合,生成结果:

['ab', 'ef']

"abcdefab".strip("ab")若源字符串的左右匹配参数一的字符串,则删除对应的字符串,否则保持不变,生成结果:cdef
"abcd\nefab".splitlines()

根据字符串中的换行符进行字符串的分割,换行符有\n、\r,

生成结果:['abcd', 'efab']

"hello world!".title()

将字符串中的英文单词的首字母转为大写,其他字母转为小写,

生成结果:Hello World!

"hello world!".zfill(20)根据第一个参数设定的字符串宽度,若源字符串宽度不够,从左边使用0进行填充,生成结果:00000000hello world!

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值