python基础——字符串

本文详细介绍了Python字符串的各种操作,包括索引、切片、获取长度、查找内容、判断字符串特性、计算出现次数、替换内容、切割字符串、修改大小写以及空格处理等,是Python初学者的必备知识点。
摘要由CSDN通过智能技术生成

索引 (下标) 和切片

 索引有两套机制
lndex:
          a    b    c    d    e    f    g
 1:       0    1    2    3    4    5    6       0 ~ len(s1)-1
 2:      -7   -6   -5   -4   -3   -2   -1      -len(s1) ~ -1

格式:字符串[start:end:step(非必要参数)]

  • start : 起始索引,从0开始

  • end:结束索引

  • step : 步长 (正负判断方向)默认从左往右 步长为1

如果[start,end]的方向是从左往右,而step的方向是从右往左,那么就取不到,例如

m = 'ssd343lf93his243'
print(m[4:10:-1])

例子:

s = "asdsfgdg"

取出所有元素 默认步长为1 asdsfgdg

print(s[:])

从下标为1开始,取出后面所有的元素(没有结束位) sdsfgdg

print(s[1:])

从起始位置开始,取到下标为4的前一个元素 (包左不包右) asds

print(s[:4])

从起始位置开始,取到倒数第一个元素 (包左不包右) asdsfgd

print(s[:-1])

从下标为1开始,取到下标为5的元素 (包左不包右) sf

print(s[1:6:3])

python 字符串快速逆置

print(s[::-1])  # gdgfsdsa 从后向前,按步长为1进行取值

获取长度

  • len()函数
s = '341432'
print(len(s))  #6

查找内容

总结:

find: 从左向右查找,只要遇到一个符合要求的则返回位置。没有找到就返回-1
    
rfind: 和rind一样,只不过查找方向相反
    
index: 类似find,但是如果找不到会报错
    
rindex: 类似index,查找方向相反。

1、find

查找指定内容 是否存在

存在就返回第一次出现的位置的索引值

不存在,则返回-1

s = 'Good night'
print(s.find('i'))  #6
print(s.find('1')) #-1

2、rfind

类似于 find()函数,不过是从右边开始查找。数还是从左往右

mystr = '今天天气好晴朗,处处好风光呀好风光'
print(mystr.rfind('好')) # 14

3、index

跟find()方法一样,只不过,find方法未找到时,返回-1,而str未找到时,会报一个异常。

语法格式:

S.index(sub[, start[, end]]) -> int

4、rindex

类似于 index(),不过是从右边开始。

判断

总结:

startswith :  	判断字符串是否以 指定内容开头。
endswith : 		判断字符串是否以 指定内容结尾。
 isalpha : 		判断字符串是否是 (纯字母)
 isdigit : 		判断一个字符串是否是  (纯数字) 有非数字
 isalnum :		判断是否由 (数字和字母) 
 isspace :		判断是否  只有 (空格) 
1. startswith

判断字符串是否以指定内容开头。

mystr = '今天天气好晴朗,处处好风光呀好风光'
print(mystr.startswith('今'))  # True
print(mystr.startswith('今日')) # False
2. endswith

判断字符串是否以指定内容结尾。

mystr = '今天天气好晴朗,处处好风光呀好风光'
print(mystr.endswith('好风光')) #True
print(mystr.endswith('好日子')) #False
3. isalpha

判断字符串是否是纯字母。

mystr = 'hello'
print(mystr.isalpha())  # True
mystr = 'hello world'
print(mystr.isalpha()) # False 因为中间有空格
4. isdigit

判断一个字符串是否是纯数字

mystr = '1234'
print(mystr.isdigit()) # True
mystr = '123.4'
print(mystr.isdigit()) # False  有小数点
5. isalnum

判断是否由 (数字和字母) 组成。纯(数字/字母)也可以

mystr = 'abcd'
print(mystr.isalnum())  # True
mystr = 'abcd1234'
print(mystr.isalnum()) # True
mystr = 'abcd1234_'
print(mystr.isalnum()) # False
6、isspace

如果 mystr 中只包含空格,则返回 True,否则返回 False.

mystr = ''
print(mystr.isspace()) # False mystr是一个空字符串
mystr = '  '
print(mystr.isspace()) # True 只有空格
mystr = ' d'
print(mystr.isspace()) # False 除了空格外还有其他内容

计算出现次数

count

返回 str在start和end之间 在 mystr里面出现的次数。

示例:
mystr = '今天天气好晴朗,处处好风光呀好风光'
print(mystr.count('好'))  # 3. '好'字出现三次

替换内容

replace

替换字符串中指定的内容,

s='hello world'
print(s.replace('l','x')) # hexxo worxd   

如果指定了次数,则替换不会超过指定次数

s='hello world'
print(s.replace('l','x',2))  # hexxo world

切割字符串:

总结:

split 和 rsplit:是把指定切割的内容变成分隔符(",") 返回一个列表

partition 和 rparttition:  返回一个元组
是把指定切割的内容 单独出来,不是切掉也不是变成分隔符

1、split

从左往右切割,返回一个列表,把符合的全都切割成分隔符 (’, ')

s='hello world'
print(s.split('l'))  # ['he', '', 'o wor', 'd']

如果有指定几次字符串为分割,则分为几次+1个字符串

s='hello world'
print(s.split('l',2))  # ['he', '', 'o world']

2、rsplit

用法和split基本一致,只不过是从右往左分隔。

s='hello world'
print(s.rsplit('l',2))  # ['hel', 'o wor', 'd']

3、splitlines

按照行分隔,返回一个包含各行作为元素的列表。

mystr = 'hello \n world'
print(mystr.splitlines())  # hello world

4、partition

以指定的内容为中心 用 ’ , ’ 分隔开 分 前 中 后

s='hellon world'
print(s.partition("l"))  # ('he', 'l', 'lon world')

5、rpartition

类似于 partition()函数,不过是从右边开始.

s='hellon world'
print(s.rpartition("l"))  # ('hellon wor', 'l', 'd')

修改大小写

修改大小写的功能 只对英文 有效

总结:

第一个单词首字母大写capitalize,

每个单词的首字母大写title,

全小写lower,

全大写upper.

1、capitalize

第一个单词的首字母大写。

mystr = 'hello world'
print(mystr.capitalize()) # Hello world

2、title

每个单词的首字母大写。

mystr = 'hello world'
print(mystr.title()) # Hello World

3、lower

所有都变成小写。

mystr = 'hElLo WorLD'
print(mystr.lower()) # hello world

4、upper

所有都变成大写。

mystr = 'hello world'
print(mystr.upper())  #HELLO WORLD

空格处理

1. ljust

返回指定长度的字符串,并在右侧使用空白字符补全(左对齐)。

str = 'hello'
print(str.ljust(10))  # hello     在右边补了五个空格

2. rjust

返回指定长度的字符串,并在左侧使用空白字符补全(右对齐)。

str = 'hello'
print(str.rjust(10))  #      hello在左边补了五个空格

3. center

返回指定长度的字符串,并在两端使用空白字符补全(居中对齐)

str = 'hello'
print(str.center(10))  #  hello   两端加空格,让内容居中

4. lstrip

删除 mystr 左边的空白字符。

mystr = '    he   llo      '
print(str.lstrip())  #he   llo      只去掉了左边的空格,中间和右边的空格被保留

5. rstrip

删除 mystr 右边的空白字符。

mystr = '    he   llo      '
print(str.rstrip())  #    he   llo右边的空格被删除

6. strip

删除两断的空白字符。

str = '    he   llo      '
print(str.strip())  #he   llo
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值