字符串的各种操作汇总————4-20

一、字符串大小写转换

以下都只针对字母有影响,其它,例如汉字、数字,都会原样输出,不受影响。

1、str.lower()

把字符串中的字母转成小写原字符串中的数字、汉字、小写都不受影响,仍原样输出。

2、str.upper()

把字符串中的字母转成大写。原字符串中的数字、汉字、大写都不受影响,仍原样输出。

3、str.title()

把字符串中所有单词的首字母转成大写其它字母转成小写。原字符串中的数字、汉字都不受影响,仍原样输出。

4、str.capitalize()

把字符串中,第一个单词的首字母转成大写其它单词通通小写。

5、str.swapcase()

把字母由原来的大写转成小写,小写转大写。

举例:

# 1、把字符串中的字母转换成小写
s1 = "2TOm猫"
print(s1.lower())  # 结果:2tom猫,可以看出,数字、汉字、小写都不受影响

# 2、把字符串中的字母转换成大写
s2 = 'Day5天'
print(s2.upper())  # DAY5天

# 3、所以单词的首字母转成大写,其它字母转成小写
s3 = 'h你好,世界6 today hAppy EVERY'
print("字符串原貌:")
print("【", s3, "】")
print(s3.title())  # H你好,世界6 Today Happy Every

# 4、第一个单词的首字母大写,其它单词统统小写。
print(s3.capitalize())  # H你好,世界6 today happy every

# 5、把字母由原来的大写转成小写,小写转大写
print(s3.swapcase())


结果:
2tom猫
DAY5天
字符串原貌:
【 h你好,世界6 today hAppy EVERY 】
H你好,世界6 Today Happy Every
H你好,世界6 today happy every
H你好,世界6 TODAY HaPPY every

二、判断字符串里字母的大小写  

以下都只对字母起作用,数字、汉字原样输出。

1、str.islower()

判断字符串里的字母是否全为小写

2、str.isupper()

判断字符串里的字母是否全为写。

3、str.istitle()

判断字符串里的所有单词的首字母是否全为大写,且其他字母全为小写。如例题的s4。

举例:

s1 = '2好happy'
s2 = 'Happy'
s3 = 'hello'
s4 = 'HELLO'

# 判断字符串里的字母是否全为小写。
print(s1.islower())  # True
print(s2.islower())  # False
print(s3.islower())  # True

# 判断字符串里的字母是否全为大写。
print(s1.isupper())   # False
print(s2.isupper())   # False
print(s3.isupper())   # False
print(s4.isupper())   # True

# 判断字符串里的所有单词的首字母是否全为大写。
print(s1.istitle())    # False
print(s2.istitle())    # True
print(s4.istitle())    # False


结果:
True
False
True
False
False
False
True
False
True
False

 三、字符串的判断

1、str.isspace()

判断字符串是否为空格字符。如果是则返回True, 否则False。

常见的有:空格、\t、\n、\r(回车)。。。。都是没有实际内容的。

s1 = ''
s2 = ' '  # 引号里面有一个空格
s3 = '\t'
s4 = '\n'
s5 = '\r'

print(s1.isspace())  # False
print(s2.isspace())  # True
print(s3.isspace())  # True
print(s4.isspace())  # True
print(s5.isspace())  # True



结果:
False
True
True
True
True

2、str.isprintable()

判断字符串是否可以打印,可以打印返回True,否则False。

注:空格、空字符串是可以打印的,\t  \n  \r不可以打印

s1 = 'tom'
s2 = ''
s3 = ' '   # 有一个空格
s4 = '\n'
s5 = '\t'
s6 = '\r'
print(s1.isprintable())  # True
print(s2.isprintable())  # True
print(s3.isprintable())  # True
print(s4.isprintable())   # False
print(s5.isprintable())   # False
print(s6.isprintable())   # False



结果:
True
True
True
False
False
False

 3、str.isidentifier()

单纯判断字符串(的内容)符不符合变量名的命名规则,符合返回True,否则False 。

延申:变量名的命名规则

是否是由字母、数字、下划线组成,且不能以数字开头。

s1 = '1k'
print(s1.isidentifier())  # False

print('3a'.isidentifier())   # False
print('a5'.isidentifier())   # True
print('_2a5'.isidentifier())   # True




结果:
False
False
True
True

 四、判断字符串是否为数字

 1、str.isalpha()

判断字符串是否全部都是字母类型和汉字,如果是,返回True,如果包含数字或其它字符,返回False

s1 = "柠檬水"
s2 = "345 happy"
s3 = 'lemon'
s4 = 'Lemon'
s5 = '!Lemon'
print(s1.isalpha())   # True
print(s2.isalpha())  # False
print(s3.isalpha())  # True
print(s4.isalpha())   # True
print(s5.isalpha())   # False



结果:
True
False
True
True
False

 2、str.isdecimal()

判断字符串是否只包含十进制字符。如果包含空格、小数点、汉字、字母、其他字符,都是返回False。这种方法只存在于unicode对象。

注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。

s1 = "柠檬水"
s2 = "345 happy"
s3 = 'lemon'
s4 = '二'
s5 = "IV"
s6 = '1123'
s7 = '1123 '  # 后面加一空格
s8 = '11.23'  # 小数

s0 = u'1123'

print(s1.isdecimal())   # False  
print(s2.isdecimal())  # False
print(s3.isdecimal())  # False   
print(s4.isdecimal())   # False
print(s5.isdecimal())   # False
print(s6.isdecimal())   # True
print(s7.isdecimal())   # False
print(s8.isdecimal())   # False
print(s0.isdecimal())  # True

结果:
False
False
False
False
False
True
False
False
True

 3、str.isnumeric()

判断字符串是否只由数字组成。主要是针对unicode编码格式的数字

定义一个字符串为Unicode编码方式,只需要在字符串前添加 'u' 前缀即可。

s1 = '1123'
s0 = u'1123'

s2 = '1123 '  # 后面加一空格
s3 = '11.23'  # 小数
s4 = '二'
s5 = "IV"
print(s0.isnumeric())  # True
print(s1.isnumeric())  # True
print(s2.isnumeric())  # False
print(s3.isnumeric())  # False
print(s4.isnumeric())  # True
print(s5.isnumeric())  # False


结果:
True
True
False
False
True
False

4、 str.isdigit()

判断字符串是否只由数字组成。

s1 = "柠檬水"
s2 = "345 happy"
s3 = 'lemon'
s4 = '二'
s5 = "IV"
s6 = '1123'
s7 = '1123 '  # 后面加一空格
s8 = '11.23'  # 小数

print(s1.isdigit())  # False
print(s2.isdigit())  # False
print(s3.isdigit())  # False
print(s4.isdigit())  # False
print(s5.isdigit())  # False
print(s6.isdigit())  # True
print(s7.isdigit())  # False
print(s8.isdigit())   # False


结果:
False
False
False
False
False
True
False
False

五、判断字符串的首尾

判断字符串是否以指定的内容开头和结尾。   针对所有字符,包括,字母、数字、汉字、标点符号等。

1、str.endswith(想要判断的字符串,开始判断的索引位置,结束判断的索引位置)

简记:str.endswith(内容,开始的索引,结束的索引)

        用来判断字符串是否以指定的字符串结尾。

注意:

(1)判断的区间范围:开始的索引位置到截止的索引位置。但需要注意的是,截止的索引是取不到的,只能取到索引值-1。也就是常说的,前闭后开[)。

(2)后俩参数也可以不写,这样默认从头看到结尾。

s1 = 'Happy everyday !'
#     0123456789
print(s1.endswith("y"))  # False 判断字符串是否以y结尾,从头开始看起  

# 从索引9的位置开始算起,也就是从r开始看,末尾是否为y
print(s1.endswith("y", 9))  # False

print(s1.endswith("!", 9))  # True

print(s1.endswith("!", 5, 9))  # False 从索引5-9看

print(s1.endswith("y", 1, 4))  # False
# 为什么False,因为,索引的范围是[),给到4但取不到4

print(s1.endswith("day !"))   # True


结果:
False
False
True
False
False
True

2、str.startswith("5", 2, 3)

判断字符串开头是否是以指定字符开头的。其它用法规则跟str.endswith()一样。

s2 = "柠檬水"
s3 = "345 happy"
#     0123456
print(s2.startswith("柠"))   # True
print(s3.startswith("34"))   # True
print(s3.startswith("5", 2, 3))   # True


结果:
True
True
True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值