Python 字符串

原始字符串

print(r'\n \t')

\n \t

续行符

name = "woshi" \
        "abc"
print(name)
name = ("woshi"
        "abc"
)
print(name)

woshiabc

三引号

可直接跨行书写
用于注释文档

字符串拼接

str1 + str2
str1 str2
占位符:“woshi%s, %d”%(“123”, 123)

print('sz\t' * 5)

sz sz sz sz sz

字符串切片

name[下标]
取最后一个位置:name[-1]
起始位置:0
结束位置:字符串长度
步长:1
步长> 0 从左到右
步长< 0 从右到左
反转字符串[::-1]

name = 'abcdefg'
print(name[0: 3])
print(name[::])
print(name[0:len(name):1])
print(name[len(name):0:-1])
print(name[::-1])

abc
abcdefg
abcdefg
gfedcb
gfedcba

字符串常用函数

内建函数可直接使用
对象方法:对象.方法(参数)

查找结算

len

find

查找子串索引位置
find(sub, start=0, end=len(str))
sub: 需要检索的字符串
start:起始位置
end:结束位置
返回值:找到为指定索引,找不到-1

rfind

从右向左查找

index

同find 找不到返回异常
ValueError: substring not found

rindex

count

计算某个子字符串的出现个数
count(sub, start=0, end=len(str))

转换

replace

使用给定的新字符串替换原字符串中的旧字符串
replace(old, new[, count])
old: 需要被替换的
new:替换后的
count:替换的个数,省略替换全部

name = 'wo shi sz'
print(name.replace('s', 'z', 1))
print(name)

wo zhi sz
wo shi sz

capitalize

将字符串首字母变为大写

name = 'wo shi sz'
print(name.capitalize())
print(name)

Wo shi sz
wo shi sz

title

将字符串每个单词的首字母变为大写,只要不是单词

name = 'wo shi sz'
print(name.title())
print(name)

Wo Shi Sz
wo shi sz

lower

lower()
将字符串每个字符都变为小写

upper

将字符串每个字符都变为大写

填充压缩

ljust

根据指定字符(1个),将原字符串填充够指定长度
l:指定原字符串靠左
ljust(width,fillchar)
width: 指定字符串长度
fillchar:填充的字符

name = 'abcd'
print(name.ljust(6,'x'))
print(name)

abcdxx
abcd

rjust

原字符串靠右

center

原字符串居中

lstrip

移除所有原字符串指定字符(默认为空白字符)
l表示仅从左侧开始移除
lstrip(chars)
chars: 需要移除的字符集

name = '        ab cd     '
print('|' + name.lstrip() + '|')
print('|' + name + '|')

|ab cd |
| ab cd |

rstrip

仅从右侧开始移除

分割拼接

split

将一个大的字符串分割成几个子字符串
split(sep, maxsplit)
sep: 分隔符
maxsplit: 最大分割次数,可省略

info = 'sz-18-180-0558-12345679'
result = info.split('-', 3)
print(result)

[‘sz’, ‘18’, ‘180’, ‘0558-12345679’]

partition

根据指定的分隔符,返回(分隔符左侧内容,分隔符,分隔符右侧内容)
partition(sep)
sep: 分隔符
返回tuple

info = 'sz-18-180-0558-12345679'
result = info.partition('-')
print(result)

(‘sz’, ‘-’, ‘18-180-0558-12345679’)

rpartition

从右侧开始找

splitlines

按照换行符(\r, \n),将字符串拆成多个元素,保存到列表
splitlines(keepends)
keepends: 是否保留换行符 bool类型

info = 'wo \n shi \r sz'
result = info.splitlines(True)
print(result)
result = info.splitlines()
print(result)

[‘wo \n’, ’ shi \r’, ’ sz’]
['wo ', ’ shi ‘, ’ sz’]

join

根据指定的字符串,将给定的可迭代对象进行拼接,得到拼接后的字符串
join(iterable)

items = ['sz', '18', 'shanghai']
result = ','.join(items)
print(result)

sz,18,shanghai

判定

isalpha

字符串中所有字符都是字符

name = 'sz'
print(name.isalpha())

True

isdigit

字符串中所有字符都是数字

isalnum

字符串中所有字符都是数字或者字符

isspace

字符串中所有字符都是空白符,包括空格,缩进,换行等不可见转义符

startswith

判定一个字符是否以某个前缀开头
startswith(prefix, start=0, end=len(str))
prefix: 需要判定的前缀字符串
start: 判定起始位置
end: 判定结束位置

name = '2018-09-02: xxx.xls'
print(name.startswith('2018-09-02'))
print(name.startswith('18', 2))
print(name.startswith('18', 2, 4 ))

True
True
True

endswith

name = '2018-09-02: xxx.xls'
print(name.endswith('xls'))

True

in

判定一个字符串是否被一个字符串包含
print(‘sz’ in ’ a sz’)

not in

判定一个字符串是否不被一个字符串包含
print(‘sz’ not in ’ a sz’)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值