6

Python字符串方法 | CHEGVA

 2 years ago
source link: https://chegva.com/3230.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Python学习第九天——Python字符串方法

'''
定义:用', ", """,引起来的连续字符串,只要为变量分配一个值即可,可以使用方括号来截取字符串。
字符串一旦创建,将不可修改。一旦修改或者拼接,将会重新生成字符串。
Python 3的字符串使用Unicode,直接支持多语言。
字符串是可迭代的,可以使用切片,索引获取元素
'''

# 1.capitalize():首字母大写
str1 = "anzhihe"
res1 = str1.capitalize()
print(res1)

# 2.casefold():所有变小写
str2 = "CheGva"
res2 = str2.casefold()
print(res2)

# 3.center()、ljust()、rjust()、zfill(),设置宽度,填充指定字符
str3 = "chegva"
res3 = str3.center(20, "中")
print(res3)

res4 = str3.ljust(20, "*")
print(res4)

res5 = str3.rjust(20, "#")
print(res5)

res6 = str3.zfill(20)
print(res6)

# 4.count():在字符串中寻找子序列出现的次数
str4 = "anzhihechegva"
res7 = str4.count('he')
print(res7)

res8 = str4.count('he',6,10)
print(res8)

# 5.endswith()、startswith():判断字符串以什么字符结尾和开始
str5 = "anzhihe"
res9 = str5.endswith('he')
print(res9)

res10 = str5.startswith('he')
print(res10)

# 6.expandtabs():把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。
str6 = "username\temail\tpassword\nanzhihe\[email protected]\t123\nanzhihe\[email protected]\t123\nanzhihe\[email protected]\t123"
res11 = str6.expandtabs(20) #20个空格代替\t符号
print(res11)

# 7.find():查找子字符串返回开始的索引值(找到第一个之后),否则返回-1。
str7 = "chegvacheva"
res12 = str7.find('he')
print(res12)
res13 = str7.find('an')
print(res13)

# 8.index():与find类似,检察是否包含在字符串指定范围内,没找到时返回异常
# res14 = str7.index('11')
# print(res14)

# 9.format():格式化,将一个字符串中的占位符替换成指定的值
str8 = 'My name is {name}, age {age}'
print(str8)
res15 = str8.format(name='anzhihe', age=99)
print(res15)
res16 = str8.format_map({"name":'yaya', 'age':1})
print(res16)


str9 = 'My name is {0}, age {1}'
print(str9)
res17 = str9.format('chegva', 999)
print(res17)

# 10.isalnum():字符串所有字符是否是字母或数字,或两者组合
str10 = "123456"
res18 = str10.isalnum()
print(res18)

str11 = "123.456"
res19 = str11.isalnum()
print(res19)

# 11.isalpha():检察字符串是否只由字母组成
str12 = "chegva.com"
res20 = str12.isalpha()
print(res20)

# 12.isdecimal()、isdigit()、isnumeric() 检察当前输入是否是数字
str13 = "安"
res21 = str13.isdecimal()
res22 = str13.isdigit()
res23 = str13.isnumeric()
print(res21, res22, res23)

# 13.isprintable():是否存在不可显示的字符 \t 制表符 \n 换行符
str14 = "anziher\t4343"
res24 = str14.isprintable()
print(res24)

# 14.isspace():判断字符串是否全部是空格
str15 = ""
res25 = str15.isspace()
print(res25)

# 15.istitle():字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
#  title():返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写
str16 = "If I should see you,after long year.How should I greet, with tears, with silence."
res26 = str16.istitle()
print(res26)
res27 = str16.title()
print(res27)
res28 = res27.istitle()
print(res28)

# 16.join():将字符串中的每一个元素按照指定分隔符进行拼接
str17 = "潇洒走一回"
res29 = "_".join(str17)
print(res29)

# 17.转换大小写
# islower():判断字符串是否全部是小写字符
# lower():所有大写字符转换成小写
# isupper():判断字符串是否全部是大写字符
# upper():所有小写字符转换成大写
# swapcase():对字符串的大小写字母进行转换
str18 = "Chegva"
res30 = str18.islower()
res31 = str18.lower()
print(res30, res31)

res32 = str18.isupper()
res33 = str18.upper()
res34 = str18.swapcase()
print(res32,res33,res34)

# 18.isidentifier():检测字符串是否是字母开头
str19 = "chegva"
res35 = str19.isidentifier()
print(res35)

str20 = "1fdfdfd"
res36 = str20.isidentifier()
print(res36)

# 19.检察字符串开关和结尾
# startswith():检查字符串是否是以指定子字符串开头
# endswith():检查字符串日影不是以指定子字符串结尾
str21 = "chegva.com"
res37 = str21.startswith('a')
print(res37)

res38 = str21.endswith('com')
print(res38)


# 20.str.replace(old, new[, max]):把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
str22 = "chegva.comheheanzhihe"
res39 = str22.replace("he","HE")
print(res39)

res40 = str22.replace("he","HE",2)
print(res40)

# 21.对应关系替换
# maketrans():用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
# 两个字符串的长度必须相同,为一一对应的关系。
# translate():根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
str23 = "this is string example....wow!!!"
intab = "aeiou"
outtab = "12345"
trantab = str23.maketrans(intab, outtab)   # 制作翻译表

print (str23.translate(trantab))

# 22.分割
# split(str="", num=string.count(str)):通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
# partition(str):符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
# rpartition(str):类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。
# splitlines([keepends]):按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
str24 = "this is string example....wow!!!"
print (str24.split( ))
print (str24.split('i',1))
print (str24.split('w'))

str25 = "www.chegva.com"
print(str25.partition("."))
print(str25.rpartition("."))

# >>> 'ab c\n\nde fg\rkl\r\n'.splitlines()
# ['ab c', '', 'de fg', 'kl']
# >>> 'ab c\n\nde fg\rkl\r\n'.splitlines(True)
# ['ab c\n', '\n', 'de fg\r', 'kl\r\n']


# 23.移除指定字符串
# lstrip():移除字符串左边的空格或指定字符
# rstrip():删除字符串末尾的空格
# strip():在字符串上执行lstrip()和rstrip()
str26 = "     this is string example....wow!!!     ";
print( str26.lstrip() );
str27 = "88888888this is string example....wow!!!8888888";
print( str27.lstrip('8') );

str28 = "     this is string example....wow!!!     "
print (str28.rstrip())
str29 = "*****this is string example....wow!!!*****"
print (str29.rstrip('*'))

str30 = "*****this is **string** example....wow!!!*****"
str31 = "123chegva.com3212121"
print(str30.strip( '*' ))  # 指定字符串 *
print(str31.strip('12'))
anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/3230.html | ☆★★每天进步一点点,加油!★★☆

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK