字符串相关操作

字符串运算

重复运算 *
拼接运算 +

重复运算会将字符串重复输出

a = 'hello, world'
print(a * 5)     # hello, worldhello, worldhello, worldhello, worldhello, world

拼接运算就是把后者加到前者的后面,形成一个新的字符串

s1 = 'jkl'
s2 = '阿水'
s3 = s1+s2
print(s3)     #  jkl阿水

成员运算 not in in

print('or' in a)   # True

print('ko' in a)  # False

比较运算(比较字符串内容—>比较字符编码)

b = 'hello, world'    
print(a == b)   # True
print(a != b)   #  False
c = 'goodbye, world'
print(b > c)   # h的编码大于g的,True
d = 'everyday'
print(d >= c)   # g的编码大于e的,False 

获取长度使用len()

print(len(a))   # 输出字符串的长度

循环遍历字符串的每个字符

for i in range(len(a)):
    print(a[i])

for i in a:
    print(i)

不允许进行赋值操作

字符串是不可变类型,当对字符串进行赋值操作会报错: **TypeError: 'str' object does not support item assignment**

a[0] = 'l'   # TypeError: 'str' object does not support item assignment

索引和切片

print(a)   # hello, world
print(a[0])  # h
print(a[-1])  # d
print(a[0:3])   # hel
print(a[0:7:2])   # hl0     注意空格也是一个字符,所以o的后面接上一个空格
print(a[::-1])   # 反转:dlrow ,olleh
print(a[8:3:-1])    # ow ,o

在进行字符串的操作是需要注意空格

下面的方法都未对原字符串操作,不会发生改变

全大写upper()

将字符串的字母全部改成大写

a = 'hello, world123'
print(a.upper())     # # HELLO, WORLD123

全小写lower()

将字母全部改为小写

print(a.lower())  # # hello, world123

首字母大写capitalize()

把字符串中的第一个字母大写

print(a.capitalize())  # Hello, world123

每个单词首字母大写 title()

print(a.title())  # Hello, World123

判断字符串属性(返回布尔类型),注意空格,标点符号

c = '李华 '
b = 'abc123 '    # 这里后面跟上了一个空格

判断是否都是数字isdigit()

print(b.isdigit())   # False

判断字符串是否由字母组成isalpha()

print(b.isalpha())  # False

判断是否字母数字组成isalnum()

print(b.isalnum())   # False

判断是否ascii组成isascii()(python3.7以上才会有这个)

print(b.isascii())    # True
print(c.isascii())     # False,汉字不属于ascii的范畴

判断由啥开头startswith(),由啥结尾endswith()

print(b.startswith('abc'))   # True
print(b.endswith('23'))      # False

原字符串未改变

在字符串中查找有没有字串的操作

a = 'Oh apple, i love apple'

index()从左往右查找,找到返回索引,反之报错,返回从左往右第一次出现的索引位置,可指定查找的初始位置


# 返回的是指定字符串的首字母第一次出现的索引
print(a.index('apple'))  # 3
print(a.index('apple', 10))  # 17   10表示从下标为10的位置开始查找

rindex():返回从右往左第一次出现的索引,索引依旧从左开始

print(a.rindex('apple'))  # 17
# 不存在则报错
print(a.index('banana')) 
 # ValueError: substring not found

find() 与上述index() 用法相同,rfind() 在找不到字串的时候返回-1


print(a.find('banana'))    # -1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值