python字符串常见方法

python字符串

1.字符串是什么?

字符串是由一个个字符组合起来的串。字符是什么?字符是一串编码。编码是什么?编码是别人规定的字节码。

2. 字符串如何定义

str1=‘我是字符串’

str2=“我是字符串”

str3=""“我是字符串”""

str4=str(“我是字符串”)

3. 字符串常见方法

# capitalize()  让字符串首字母大写
str1='my name is wangDaXian'
str2="banana"
str3=str1.capitalize()  #此方法不会改变原有字符串,具有返回值,并且首字母大写后,字符串本来有的大写会变成小写
print(str3)
"""
OutPut:
My name is wangdaxian 
"""
#center(width,[fillchar])  设置字符串按照长度居中,fillchar默认是空格,可以自定义
str4=str1.center(50)  #此方法具有返回值,不会改变原有字符串格式
print(str4)
str5=str1.center(50,"-")
print(str5)
"""
OutPut:
              my name is wangDaXian
--------------my name is wangDaXian---------------
"""
#ljust(width,[fillchar])  左对齐,可以指定字符串宽度,fillchar默认是空格,可以自定义
#rjust(width,[fillchar])  右对齐,可以指定字符串宽度,fillchar默认是空格,可以自定义
str6=str1.ljust(60,"|")
str7=str1.rjust(50,"-")
print(str6)
print(str7)
"""
OutPut:
my name is wangDaXian|||||||||||||||||||||||||||||||||||||||
-----------------------------my name is wangDaXian
"""


#count()  统计字符或者字符串出现的次数
print(str1.count("n"))
print(str1.count("name"))
"""
OutPut:
3
1
"""

#str.endswith(suffix[, start[, end]])  判断字符串是否以xxx结尾
#str.startswith(str, beg=0,end=len(string)); 判断字符串是否以xxx开头
print(str1.endswith("n"))
print(str1.endswith("n",0,2))
print(str1.endswith("wangDaXian"))
print(str1.startswith("m"))
print(str1.startswith("my"))
"""
OutPut:
True
False
True
True
True
"""



#index() 查找字符或者字符串在字符串中第一次出现的位置,如果字符或者字符串不存在,则抛出异常
print(str1.index("n"))
# print(str1.index("apple"))
"""
3
Traceback (most recent call last):
  File "e:/VSCodeProject/python/字符串操作.py", line 62, in <module>
    print(str1.index("apple"))
ValueError: substring not found
"""

# rindex() 查找字符或者字符串在字符串中最后一次出现的位置
# find() 查找字符或者字符串在字符串中第一次出现的位置,如果字符或者字符串不存在,则返回-1
print(str1.rindex("n"))
print(str1.rindex("Xian"))
print(str1.find("y"))
print(str1.find("is"))
print(str1.find("apple"))
"""
OutPut:
20
17
1
8
-1
"""


# encode(encoding='UTF-8',errors='strict') (解码) python3提供用来将字符串转换为字节的一个方法
# decode(charset)    (编码)  将字节转换为字符串
"""
I、ASCII 占1个字节,只支持英文
II、GB2312 占2个字节,支持6700+汉字
III、GBK GB2312的升级版,支持21000+汉字,中文2个字节。
IV、Unicode 2-4字节 已经收录136690个字符
V、UTF-8: 使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多4个字节。英文占1个字
节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个。中文3个字节。
VI、UTF-16: 使用2、4个字节表示所有字符;优先使用2个字节,否则使用4个字节表示。
"""
s1="王大仙"
print(s1.encode("UTF-8"))
print(str1.encode("GBK"))   #英文字符不能解码?
print(str1.encode("UTF-8"))
print(str1.encode("ASCII"))

# print(s1.encode("GBK").decode("UTF-8")) # 为什么报错,先解码 再编码为什么会报错
# 编码和解码必须一致
print(s1.encode("UTF-8").decode("UTF-8"))
"""
b'\xe7\x8e\x8b\xe5\xa4\xa7\xe4\xbb\x99'
b'my name is wangDaXian'
b'my name is wangDaXian'
b'my name is wangDaXian'
"""

#format() 用来格式化字符串
print("{} {}".format("hello","world"))
print("{name},{age}".format(name="daxian",age=5))
"""
hello world
daxian,5
"""


# islower         判断字符串是否都是小写字符
# isupper		  判断是否都是大写字母
# istitle	      判断字符串是否是标题
# isspace         判断字符串是否是空格
s5="apple is red"
s6="MY NAME IS DAXIAN"
print(str1.islower())
print(s5.islower())

print(s6.isupper())
print(s5.isupper())

s7="My Name Is DaXian"
s8="My Name Is Daxian"
print(s7.istitle())
print(s8.istitle())

s9=" "
print(s9.isspace())
"""
OutPut:
False
True
True
False
False
True
True
"""
print("-"*20)
#isdigit			 判断是不是数字
#isalnum			 判断是否都由有效符号
#isalpha			 判断是否都由字母组成
strs1="123456"
strs2="123&-"
strs3="abc"

print(strs1.isdigit())
print(str1.isdigit())

print(strs1.isalnum())
print(str1.isalnum())  #空格不是有效符号
print(strs2.isalnum())

print(strs3.isalpha())
print(str1.isalpha())  #此方法对空格也会判断

"""
OutPut:
True
False
True
False
False
True
False
"""
# title			将字符串转换为标题格式
# lower			将字符串转换为小写字母
# upper			将字符串转换为大写字母
print(str1.title())
print(str2.lower())
print(str1.upper())


# join(iterable)	         按照特定的符号,将一个可迭代对象拼接成字符串
ss1=["a","b","c"]
ss2="xxx"
print(ss2.join(ss1))
"""
OutPut:axxxbxxxc  可以对元祖  列表进行拼接
"""
# split("符号")		         按照特定的符号,将字符串切割,返回一个列表	
ss3="www.tree.com"
print(ss3.split("."))
"""
OutPut:
['www', 'tree', 'com']
"""
# strip			             清除字符串两侧的空格
ss4="      abc    "
print(ss4)
print(ss4.strip())
"""
      abc
abc
"""
# lstrip			         清除左侧空格
print(ss4.lstrip())
"""
abc
"""
# rstrip			         清除右侧空格
print(ss4.rstrip())
"""
      abc
"""
# replace("原字符串", "新值") 替换对应的字符串
sss1="abc"
sss2="qwe"
print(sss1.replace("a","dd"))
print(sss1.replace("b",sss2))
"""
OutPut:
ddbc
aqwec
"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值