python中str用法_python数据类型之str用法

1、首字母大写

语法:S.capitalize() ->str

title= "today is a good day"title_ca=title.capitalize()

print(title_ca)

结果:today is a good day

2、大写转小写

1 语法:S.casefold() ->str2

3 title = "TODAY is a GOOD day"

4 title_ca =title.casefold()5 print(title_ca)

结果:Today is a good day

3、字符串居中

c = 'kong'ret= c.center(10,'*')

print(ret)

结果:***kong***

4、字符串子串数量统计

S.count(sub[, start[, end]]) -> inttitle= "today is a good day"title_ca= title.count('y',1,5)

print(title_ca)

结果:1

5、中文转UTF-8

S.encode(encoding='utf-8', errors='strict') ->bytes

zw= '孔扎根'ut=zw.encode()

print(ut)

结果:b'\xe7\xa9\xba\xe6\x89\x8e\xe6\xa0\xb9'

6、字符串结束判断

S.endswith(suffix[, start[, end]]) -> booltitle= "TODAY is a GOOD day"title_ca= title.endswith('day')

print(title_ca)

结果:True

7、TAB转空格

S.expandtabs(tabsize=8) ->str

#默认是一个TAB转8个空格

title= "TODAY\tis\ta\tGOOD\tday"title_ca=title.expandtabs()

print(title_ca)

结果:TODAYis a GOOD day

8、查找字符串的位置

S.find(sub[, start[, end]]) -> inttitle= "TODAY\tis\ta\tGOOD\tday"title_ca= title.find('s')

print(title_ca)

结果:7

9、字符串格式化

S.format(*args, **kwargs) ->str

#可传入元组或字典

title= "{}\tis\ta\t{day_type}\tday"title_ca= title.format('TODAY',day_type='GOOD')

print(title_ca)

结果:TODAYis a GOOD day

10、字符串格式化,从字典输入(format_map)

S.format_map(mapping) ->str

#输入参数为字典,循环读字典中的列表

maping_name={'name':['alex','join'],'age':[18,19]

}for x in range(2):

print('my name is {},and i is {} old'.format(maping_name['name'][x],maping_name['age'][x]))

结果:

my nameis alex,and i is 18old

my nameis join,and i is 19 old

11、字符串的索引位置

S.index(sub[, start[, end]]) -> int#查找Y的索引位置,从0开始数

title= "TODAY\tis\ta\tGOOD\tday"title_ca= title.index('Y')

print(title_ca)

结果:4

12、字符串中至少有一个数字

S.isalnum() -> bool#字符串不能有空格,否则失败

title= "22TODAY"title_ca=title.isalnum()

print(title_ca)

结果:True

13、字符串中至少有一个字母

S.isalpha() -> bool#字符串不能有空格或TAB键

title= "22TODAY"title_ca=title.isalnum()

print(title_ca)

结果:True

14、字符串是否为数值

num = "1"#unioncode

print(num.isdigit())

print(num.isdecimal())

print(num.isnumeric())

结果:

True

True

True

num= "1"#全角

print(num.isdigit())

print(num.isdecimal())

print(num.isnumeric())

结果:

True

True

True

num= b"1"#byteprint(num.isdigit())

print(num.isdecimal())

print(num.isnumeric())

结果:

True

AttributeError:'bytes' object has no attribute 'isdecimal'AttributeError:'bytes' object has no attribute 'isnumeric'num= "IV"#罗马字符

print(num.isdigit())

print(num.isdecimal())

print(num.isnumeric())

结果:

False

False

False

num= "四"#汉字

print(num.isdigit())

print(num.isdecimal())

print(num.isnumeric())

结果:

False

False

True

支持的字符:

isdigit:支持 unioncode,全角,byte,汉字

isdecimal:支持 unioncode,全角,

isnumeric:支持 unioncode,全角,汉字

报错:

isdigit不会报错,后两种在byte判断时会报错

15、判断字符串是否为有效标识符(可做为函数名称)

#S.isidentifier() -> boolt_code= 'test'print(t_code.isidentifier())

结果:返回True

t_code= '23test'print(t_code.isidentifier())

结果:返回False

16、判断字符串是否全小写

#S.islower() -> boolt_code= 'kongzhagen'print(t_code.islower())

结果:返回True

t_code= 'kongzHagen'print(t_code.islower())

结果:返回False

17、判断字符串是否全整型数字

#S.isnumeric() -> boolt_code= '123'print(t_code.isnumeric())

结果:返回True

t_code= '123d'print(t_code.isnumeric())

结果:返回False

t_code= '123.123'print(t_code.isnumeric())

结果:返回False

18、判断所有字符是否可打印

#S.isprintable() -> boolt_code= '123KKK'print(t_code.isprintable())

返回:True

t_code= ''print(t_code.isprintable())

返回:True

t_code= 'KKK\n\t'print(t_code.isprintable())

返回:False

19、判断字符中是否全为空格

#S.isspace() -> boolt_code= ' 'print(t_code.isspace())

结果:返回True

t_code= '123 KKK'print(t_code.isspace())

结果:返回False

20、判断字符串是否为标题格式(首字母大写)

#S.istitle() -> bool

t_code = 'Today Is A Good Day'

print(t_code.istitle())

结果:True

t_code = 'Today Is A Good day'

print(t_code.istitle())

结果:False

t_code = 'TODAY IS'

print(t_code.istitle())

结果:False

21、判断字符串是否全大写

#S.isupper() -> boolt_code= 'Today Is A Good day'print(t_code.isupper())

结果:False

t_code= 'TODAY IS'print(t_code.isupper())

结果:True

22、字符串连接

#S.join(iterable) ->str

t_code= 'Today Is A Good Day't1_code= '.'.join(t_code)

print(t1_code)

结果:T.o.d.a.y. .I.s. .A. .G.o.o.d. .D.a.y

23、左对齐,达不到指定长度,右则填充

#S.ljust(width[, fillchar]) ->str

t_code= 'Today Is A Good Day'print(t_code.ljust(22,'*'))

结果:Today Is A Good Day***

24、转小写

#S.lower() ->str

t_code= 'Today Is A Good Day'print(t_code.lower())

结果:todayis a good day

25、左边去除指定字符,默认为空格

# S.lstrip([chars]) ->str

t_code= 'Today Is A Good Day'print(t_code.lstrip('T'))

结果:oday Is A Good Day

t_code= 'Today Is A Good Day'print(t_code.lstrip())

结果:Today Is A Good Day

26、

maketrans

27、partition

按指定的字符拆分字符串,分头、分隔串、尾,未找到指定的分隔符,头返回自己,后面两个返回空

#S.partition(sep) ->(head, sep, tail)

t_code= 'TodayIs A Good Day'print(t_code.partition('a'))

结果:('Tod', 'a', 'yIs A Good Day')

print(t_code.partition('P'))

结果:('TodayIs A Good Day', '', '')

28、replace:字符串替换

将老字符串替换为新字符串,可指定替换次数

#S.replace(old, new[, count]) ->str

t_code= 'TodayIs A Good Day,To today'print(t_code.replace('T','M',2))

结果:ModayIs A Good Day,Mo today

29、rfind:返回查询到的字符串的最大索引

#S.rfind(sub[, start[, end]]) -> int

t_code = 'TodayIs A Good Day,To today'print(t_code.rfind('d'))

结果:24

30、rindex:类似rfind,但如果没找到会报错

#S.rindex(sub[, start[, end]]) -> int

t_code = 'TodayIs A Good Day,To today'

print(t_code.rindex('p'))

结果:

Traceback (most recent call last):

File "C:/51py/day1/study.py", line 90, in

print(t_code.rindex('p'))

ValueError: substring not found

31、rjust:右对齐,左侧填充字符

#S.rjust(width[, fillchar]) -> str

t_code = 'Today'print(t_code.rjust(10,'*'))

结果:*****Today

32、rpartition:类似partition,如果未找到字符串,则空值在左边

#S.rpartition(sep) ->(head, sep, tail)

t_code= 'Today is a good day'print(t_code.rpartition('isa'))

结果:('', '', 'Today is a good day')

33、rsplit:分割字符串,从右边开始

#S.rsplit(sep=None, maxsplit=-1) ->list of strings

t_code= 'Today is a good day'print(t_code.rsplit('o',1))

结果:['Today is a go', 'd day']

34、rstrip:右边去空格

#S.rstrip([chars]) ->str

t_code= 'Today is a good day'print(t_code.rstrip())

结果: Todayis a good day

35、splitlines:方法返回一个字符串的所有行列表,可选包括换行符的列表(如果num提供,则为true)

#S.splitlines([keepends]) ->list of strings

t_code= 'Today\n is\n a\n good\n day'print(t_code.splitlines())

print(t_code.splitlines(0))

print(t_code.splitlines(1))

结果:

['Today', 'is', 'a', 'good', 'day']

['Today', 'is', 'a', 'good', 'day']

['Today\n', 'is\n', 'a\n', 'good\n', 'day']

36、startswith:如果字符串以指定的字符为前缀,则返回true,否则返回false

#S.startswith(prefix[, start[, end]]) -> boolt_code= 'Today\n is\n a\n good\n day'print(t_code.startswith('Today'))

结果:True

37、strip:去除字符串前后的空格

#S.strip([chars]) ->str

t_code= 'Today\n is\n a\n good\n day'print(t_code.strip())

结果:

Todayisa

good

day

38、swapcase:大小写互转

#S.swapcase() -> str

t_code = ' Today Is a Good Day '

print(t_code.swapcase())

结果: tODAY iS A gOOD dAY

39、title:返回的字符串为title格式,首字母大写

#S.title() ->str

t_code= 'today is a Good Day'print(t_code.title())

结果:Today Is A Good Day

40、maketrans:用于创建字符映射的转换表,两个参数为长度相等的字符串

#B.maketrans(frm, to) ->translation table

intab= "aeiou"outab= "1234k"trantab=t_code.maketrans(intab,outab)

print(trantab)

结果:{97: 49, 111: 52, 117: 107, 101: 50, 105: 51}

41、translate:根据参数table给出的表转换字符中的字符

# S.translate(table) ->str

t_code= 'today is a Good Day'trantab= {97:49}

print(t_code.translate(trantab))

结果: tod1yis 1 Good D1y

42、ord与chr是配对函数

>>> chr(65)'A'

>>> ord('A')65

43、upper:将字符串转为大写

#S.upper() ->str

t_code= 'today is a Good Day'print(t_code.upper())

结果:TODAY IS A GOOD DAY

44、zfill:数字填零

#S.zfill(width) ->str

t_code= '123'print(t_code.zfill(5))

结果:00123

45、汇总

str = 'https://www.baidu. com234'# print(str.capitalize()) # 第一个字母大写

# print(str.count('w')) # 字符在字符串中出现的次数

# print(str.endswith('com')) # 字符串是否以com结尾

# print(str.expandtabs(tabsize=2)) # 字符串中的tab转为两个空格

# print(str.find('bai')) # 返回字符串中bai的索引

# print(str.rfind('bai')) # 返回字符串中bai的索引,从右边找

# print(str.index('bai')) # 返回字符串中bai的索引,未找到会报错

# print(str.rindex()) # 返回字符串中bai的索引,未找到会报错(从右边找)

# print(str.isalnum()) # 如果所有字符都是数字或字母,则返回True

# print(str.isalpha()) # 如果所有字符都是字母,则返回True

# print(str.isnumeric()) # 如果所有字符都是数字,则返回T

# print(str.isdecimal()) # 可解释为十进制数,则返回True

# print(str.isdigit()) # 可解释为数字,则返回True

# print(str.islower()) # 字符串中的字母都小写,则返回True(可以有其它字符)

# print(str.isupper()) # 字符串中的字母都大写,则返回True(可以有其它字符)

# print(str.isspace()) # 字符串中全是空格,则返回True

# print(str.istitle()) # 如果字符串是标题化的,则返回True(每个单词首字母大写,其它小写)

# print(str.ljust(100)) # 字符串左对齐,长度100

# print(str.rjust(100)) # 字符串右对齐,长度100

# print(str.lower()) # 所有字符转小写

# print(str.lstrip()) # 去掉字符串左边的空格

print str.replace('t','2',2) # 将p 替换为2,替换2次

print str.rfind('o') # 从右边查找第一个o所在的位置

print str.rindex('o') # 从右边查找第一个o所在的位置的索引

print str.partition('du') # 从左边找到第一个du,并以之分隔字符串,返回列表

print str.rstrip() # 去掉右边的空格

print str.split('w',2) # 以w为分隔符,切分字符串

print str.splitlines() # 以行做为分隔符

print str.startswith('http') # 是否以http开头

print str.swapcase() # 翻转大小写

print str.title() # 将string标题化,所有单词首字母大写,其它小写

print str.upper() # 所有字母大写

print str.zfill(150) # 返回150个字符,原字符串右对齐,前面填充0

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值