字符串操作

常规操作

s1 = 'hello'
s2 = 'world'

# '+'可以直接将字符串拼接在一起
print(s1 + s2)

# '*'可以将指定的内容重复指定次数
print(s1 * 3)

# len:可以统计字符串长度
print(len(s1))

# 从开头进行提取,下标从0开始
print(s1[0])
# 从末尾进行提取,下标从-1开始
print(s1[-1])

# 切片操作
s = '123456789'
# 包括起始下标,不包括结束下标,步进值为1,[起始,结束)
print(s[2:5])

# 省去边界将提取到该边界
print(s[:3])
print(s[3:])
print(s[:])

print(s[1:-2])
print(s[-3:])
print(s[:-3])

# 完整写法:[起始:结束:步进]
print(s[::2])
# 逆序
print(s[::-1])

格式化操作

name = '大狗'
like = '小花'
age = 80
s =  "俺叫%s, 喜欢%s, 今年%s"% (name, like, age)
print(s)

'''
格式化
%s:字符串
%d:整数
%f:浮点数
%c:单个字符

'''

# python建议使用
print('俺叫{}, 喜欢{}, 今年{}'.format(name, like, age))
# 通过指定下标控制顺序
print('俺叫{2}, 喜欢{1}, 今年{0}'.format(name, like, age))
# 可以通过名字控制
print('俺叫{n}, 喜欢{l}, 今年{m}'.format(n= name, l = like, m = age))

# 填充和对齐   填充默认默认是空格,可以指定填充内容。
s = 'hello'
# <左对齐
print('{:<9}'.format(s) + 'AAA')#最后加上AAA
# >右对齐
print('{:>9}'.format(s))
#填充0
print('{:0<9}'.format(s))#左边对齐,右边填充“0”
print('{:0>9}'.format(s))#右边对齐,左边填充“0”
# 填充A
print('{:A<10}'.format(s))#左边对齐,右边填充“A”
print('{:A>10}'.format(s))#右边对齐,左边填充“A”

# 以指定的进制显示:b表示二进制 o表示八进制  d表示十进制  x表示十六进制
print('0b{:b}'.format(110))
print('0o{:o}'.format(110))
print('{:d}'.format(110))
print('0b{:x}'.format(110))

# 切割与拼接
str1 ='I love you more than I can say'

# 按照指定内容进行切割
# sep:按照什么内容进行切割,默认空白 \n \t
# maxsplit:指定最大切割次数,默认不限制
ret = str1.split(sep= 'o',maxsplit=2)
print(ret)
ret1 = str1.rsplit(maxsplit=9)
print(ret1)

str2 = 'hello\nworld'
# 按照换行进行切割
print(str2.splitlines())

str3 ='I love you more than I can say'
ret1 = str3.split()
# 字符串的拼接
str4 = ''.join(ret1)
print(str4)




# 查找统计判断
s = 'Hi buddy, if you have something to say, than say; If you have nothing to say, than go!'

# 字串查找,返回首次出现的位置(下标),没有找到返回-1
print(s.find('o'))
# 功能同上,是从右侧开始查找
print(s.rfind('o'))

# 统计字串出现的次数
print(s.count('o'))

# 判断是否以指定的内容开头
print(s.startswith('Hi b'))

# 判断是否以指定的内容结尾
print(s.endswith('!'))



#转换和替换
s = 'Hello World'
# 转换为全大写
print(s.upper())
# 转换为全小写

print(s.lower())
# 大小写转换
print(s.swapcase())

# 首字母大写
print(s.capitalize())

# 每个单词首字母大写
print(s.title())

# 字符串替换
print(s.replace('H','q'))



# 类型判断
s = 'Hello'

# 是否是全大写
print(s.isupper())
# 是否是全小写
print(s.islower())
# 是否是每个单词首字母都大写
print(s.istitle())
# 是否是全数字
print(s.isdecimal())
print()
# 是否是全字母
print(s.isalpha())
# 是否是全数字或字母
print(s.isalnum())
# 是否是合理的标识符
print('123a'.isidentifier())



# 填充与对齐
s = 'a'
# 左对齐,右侧填充指定内容,默认填充空格
print(s.ljust(10,'5') + 'AA')#'AA'可以追加

# 右对齐,左侧填充指定内容,默认填充空格
print(s.rjust(10,'A'))#'AA'可以追加

# 居中对齐,两边填充指定内容,默认填充空格
print(s.center(5,'1'))

# strip 同时去除两边的指定内容的字符串
str1 = '6***1233456***'
print(str1.strip('6'))

# lstrip 去除左边的指定内容的字符
str2 = '***1233456***'
print(str2.lstrip('*'))

# rstrip 去除左边的指定内容的字符
str3 = '***1233456***'
print(str3.rstrip('*'))




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值