Python3 字符串

                                             字符串、元组、字典常见操作

字符串:
字符串部分示例:
"""
python提供的字符串的功能操作:
判断
查找与替换[重点]
拆分与拼接
大小写转换
文本对齐
去除空白字符
"""
"""判断"""
# 判断字符串中成员是否全是英文字母,结果是布尔值
str1 = "abcd3ef"
print( str1.isalpha() ) # False

# 判断字符串中成员是否都是阿拉伯数字,结果是布尔值
str1 = "10086"
res = str1.isdecimal()
print( res ) # True

# 判断字符串中成员是否都是小写英文字母,结果是布尔值
# 注意,只会判断字母是否都是小写,也就是说,如果出现别的字符,不影响判断
str1 = "py10086thon"
str1 = "pY10086thon"
res = str1.islower()
print(res) # False

# 判断字符串中成员是否都是大写英文字母,结果是布尔值
# 和islower一样,只在意英文字母的大小写,其他不管
str1 = "HOLLE"
res = str1.isupper()
print( res )  # True

# 判断字符串是否以指定字符开头
str1 = "张三"
res = str1.startswith("张")
print( res ) # True


# 判断字符串是否以指定字符结尾
str1 = "中国-韩国"
res = str1.endswith("-朝鲜")
print( res ) # False

"""查找和替换"""
# 在字符串中查找指定成员的下标,如果有,则结果是下标,如果没有,则结果是-1
str1 = "abcdef"
res = str1.find("f")
print(res) # 5

# 使用find的时候,默认是从左边开始找,只会找一次,
# 如果希望反方向找,那么可以使用rfind()
str1 = "abdebf"
res = str1.rfind("b") # r 反方向查找
print(res) # 4

# 在字符串中查找指定内容的下标,如果找到,则结果是下标,找不到则报错。
str1 = "abcdef"
res = str1.index("w")  # ValueError: substring not found
print(res)

# 同样地,index也是从左往右查找一次,所以如果希望反方向查找,使用 rindex

# 替换字符串中的指定内容,结果是一个替换后的新字符串
str1 = "hello"
# 把 ll 替换成 **
# 用法:字符串.replace(旧的内容,新的内容,替换次数)
str2 = str1.replace("ll","**")
print( str2 ) # he**o

# 使用时,第三个数据 替换次数,一般用不上,默认替换所有
str1 = "hello world"
str2 = str1.replace("l","*",2)
print( str2 ) # he**o


# 统计字符串中指定字符出现的次数
str1 = "hello py th on"
res = str1.count(" ") # 统计多少个空格
print( res ) # 3

"""拆分和拼接"""
str1 = "中国-美国"
# 按照指定的字符对字符串进行拆分一次,注意:结果是一个元组,里面有三个成员
res = str1.partition("-")
print(res) # ('中国', '-', '美国')

# partition 正常情况下,是从左往右拆分,只会拆分一次,
# 如果希望从右边开始拆分,那么可以使用rpartition()

# 按照指定字符拆分字符串,拆分多次,结果是列表。
# 格式:字符串.split(sep)    # sep 就是 分隔符
str1 = "北京-顺义-马坡南"
res = str1.split("-")
print( res ) #  ['北京', '顺义', '马坡南']


# 按行对内容进行拆分,结果是列表, 一行字符就是一个成员
str1 = '''
北京
顺义
马坡南'''
res = str1.splitlines()
print(res) #  ['', '北京', '顺义', '马坡南']


# 以指定字符作为拼接符,拼接容器[有成员的数据类型,例如,元组、列表]
# 使用格式:拼接字符.join(列表或元组)
list1 = ["北京","顺义","马坡南"]
str1 = "-".join(list1)
print(str1) # 北京-顺义-马坡南


"""大小写转换"""
# # 把字符串中的大写字母转成小写字母
str1 = "ABC一"
str2 = str1.lower()
print( str2 ) # abc一
#
# # 把字符串中的小写字母转成大写字母
str1 = "abc"
str2 = str1.upper()
print( str2 ) # ABC

# 文本对齐
# 结果是返回一个新的字符串,表示在指定长度内容中,对字符串进行左中右文本对其
# ljust()  # 左对齐 rjust()  # 右对齐 center() # 居中
# 格式:字符串.center(长度,空白处的填充内容)
str1 = "文章标题"
res = str1.ljust(60,"*")
print(res)
res = str1.center(60,"*")
print(res)
res = str1.rjust(60,"*")
print(res)


# strip() 去除两边的空白字符
# 也可以清除指定的字符
str1 = "   123456 "
print( str1 ) # 字符串长度
str2 = str1.strip()
print( str2 )

# 去除两边指定的字符,替换成空格
str3 = "----123456---"
str4 = str3.strip('-')  # 清除两边指定字符
print( str4 )

# 如果希望清楚中间的指定字符,可以使用replace,因为strip搞不定
str1 = "123-456"
str2 = str1.replace("-","")
print(str2)

# 练习:"北京123456**"   想要只剩下数字怎么办?
str1 = "23北1京45**6"
# 只拿数字,不要其他的。每一个字符都要判断,是不是数字。
str2 = ""
for char in str1:
    # print(type(char) )
    if char.isdecimal() == True:
        str2 += char
print(str2)





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值