字符串类型内置方法

字符串类型内置方法

一、字符串(str)

1.1 作用

描述名字、爱好等

1.2 定义方式

使用''、""、''''''、""""""包裹的的一串字符

x = 'jiayi'
x = str(1.1)
x = str([1,2,3])

1.3 内置方法

1.3.1优先掌握

1.按索引取值

s = '**$%#jvsdhewvdcsuerb23746jnjk%E!!**'
print(s[8])  #取第8个值

d

2.切片

s = '**$%#jvsdhewvdcsuerb23746jnjk%E!!**'
print(s[3:12])  #取第3到第11个字符
print(s[3:12:3])  #取第3到第11个字符,步长为2
print(s[13:])   #取第13到最后的字符
print(s[-4:])   #取倒数第四个到最后的字符
print(s[-2:-9:-1])   #取倒数第2个到倒数第9个字符,-1表示从右往左取
print('-'*50)

%#jvsdhew
%vh
dcsuerb23746jnjk%E!!**
!!**
*!!E%kj

3.for循环

s = '**$%#jvsdhewvdcsuerb23746jnjk%E!!**'
for i in s:
    print(i)
print('-'*50

*
*
$
%
#
j
v
s
d
h
e
w
v
d
c
s
u
e
r
b
2
3
7
4
6
j
n
j
k
%
E
!
!
*
*

4.strip:去两端空白

s1 = '           **$%#jvsdhewvdcsuerb23746jnjk%E!!**           '
print(s1.strip())   #去除两端的空白
print(s1.strip(' *'))   #去除两端的空白和*
print(s1.strip('* dhed'))  #指定多个字符一起切割


**$%#jvsdhewvdcsuerb23746jnjk%E!!**
$%#jvsdhewvdcsuerb23746jnjk%E!!
$%#jvsdhewvdcsuerb23746jnjk%E!!

5.split() :切割

s = '$%*#j jk% E!!**'
print(s.split())   #默认以空格切割字符串
print(s.split('*'))  #以字符串切割
print(s.split('*',1))  # 1代表切割的次数

['$%*#j', 'jk%', 'E!!**']
['$%', '#j jk% E!!', '', '']
['$%', '#j jk% E!!**']
  1. in or not in
s = '$%*#j jk% E!!**'
print('*' in s)
print('n' not in s)

True
True

7.长度len

s = '$%*#j jk% E!!**'
print(len(s))

15

1.3.2需要掌握

1.Lstrip() [去除左端]和 rstrip()[去除右端]

name = '&&jiayi&&'
print(name.lstrip('&'))
print(name.rstrip('&'))

jiayi&&
&&jiayi

2.split()和rsplit()

name = '&&jiayi&&'
print(name.split('&',1))  #从左开始切
print(name.rsplit('&',1))  #从右开始切

['', '&jiayi&&']
['&&jiayi&', '']

3.lower 和 upper

s = 'aabbJ'
print(s.lower()) #全大写
print(s.upper())  #全小写

aabbj
AABBJ

4.startswith()和endswith()

s = 'aabbJ'
print(s.startswith('a'))   #是否以a开头
print(s.endswith('b'))     #是否以b结尾

True
False

5.join

s = 'aabbJ'
print(s.join(['234','234','234']))   #以s为间隔符,拼接到表里的每一个元素  

234aabbJ234aabbJ234

6.replace() 替换

name = 'yanjayi beautiful'
print(name.replace('beautiful','sunny'))

yanjayi sunny
```



7.isdigit()    #判断是否为纯数字
```python
name = 'yanjayi beautiful'
print(name.isdigit())

False
```


isalpha()  #判断是否为纯字母
```python
name = 'yanjayi'
print(name.isalpha())

True
```



#### 1.3.2适当掌握

1.find|rfind|
```python
s = '7438#&#*hsdjhv'
print(s.find('#'))  # 从左找,找到第一个停止,找不到返回-1
print(s.rfind('#'))  # 从右找,找到就停止,找不到返回-1
print(s.rfind('*'))  # 从右找,找到就停止,找不到返回-1
print(s.rfind('$'))  # 从右找,找到就停止,找不到返回-1

4
6
7
-1
```



2.index|rindex
```python
s = '7438#&#*hsdjhv'
print(s.index('#'))  # 从左找,找到第一个停止,找不到就报错
print(s.rindex('#'))  # 从右找,找到就停止,找不到就报错
print(s.rindex('*'))  # 从右找,找到就停止,找不到就报错
print(s.rindex('$'))  # 从右找,找到就停止,找不到就报错

4
6
7
报错
```


3.center|ljust|rjust|zfill
```python
s2 = 'jiayi'
print(s2.center(50, '*'))  # 居中
print(s2.ljust(50, '*'))  # 居左
print(s2.rjust(50, '*'))  # 居右
print(s2.zfill(50))  # 填充0居右


**********************jiayi***********************`
jiayi*********************************************
*********************************************jiayi
000000000000000000000000000000000000000000000jiayi
```

4.expandtabs  (缩进几个字符)

```python
s2 = 'a\ta'
print(s2)
print(s2.expandtabs(8))  # 针对\t而言

a	a
a       a
```


5.captalize|swapcase|title  只针对英文
```python
s2 = 'harry Potter'

print(s2.capitalize())  # 首字母(一句话的开头)大写,其他全小写,用在段落开始
print(s2.swapcase())  # 大小写互换
print(s2.title())  # 所有单词首字母大写

Harry potter
HARRY pOTTER
Harry Potter
```


### 1.4 有一个值还是多个值

1个值

### 1.5 有序(索引)or无序(索引)

有序

### 1.6 可变or不可变
不可变
```python
name = 'jiayi'
print(id(name))
name = 'jiayi handsome'
print(id(name))

2978899060024
2978899830576
```
posted @ 2019-08-02 20:57  JIAYIYAN  阅读(147)  评论(0编辑  收藏  举报