Python—字符串
一、什么是字符串
字符串是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。
我们可以使用单引号、双引号或三引号来创建字符串。
字符串中的字符都是有序的、拥有自己的索引(index,也叫下标)从0开始。
>>> a = 'this is a string\n'
>>> b = "this is a string\n"
>>> c = '''this is a long long
long string \n'''
>>> print(a, b, c)
this is a string
this is a string
this is a long long
long string
字符串的基本特点
字符串的本质是:字符序列。Python 的字符串是不可变的,我们无法对原字符串做任何修改。但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。(新建一个对象,不修改原对象)
Python 不支持单字符类型,单字符也是作为一个字符串使用的。
一般常用操作:
字符串的替换、删除、截取、复制、连接、比较、查找、分割等。
字符串内置操作方法:
使用type获取对象类 type(name)
使用dir获取类的成员dir(name)
使用vars获取类的成员和各个成员的值
二、1.切片
python访问字符串,可以使用方括号来截取字符串(切片),放括号里的数字是字符串的索引(index),从0开始。
String[开始索引:结束索引:步长](左闭右开区间,包括左侧索引值对应的元素,但不包括右侧索引值对应的索引值对应的元素。)
索引必须是整数,最大值是数据长度-1
切片不会改变原对象,而且重新生成了一个新的对象。
hw = "hello world"
hw[0:5]
#输出'hello'
hw[:5]
#输出'hello'
-
转义字符
在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。常见转义字符如下:
\(在行尾时)续行符
\ 反斜杠符号
'单引号
" 双引号
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车 -
字符串的拼接
s='hello'*2 #用乘法重叠
print(s)
#输出hellohello
s='hello'+'world' #用加号拼接
print(s)
#输出helloworld
a='world'
s=''.join(a) #用join拼接
print(s)
#输出world
4.字符串的统计
s='asjbsbjjdj'
len(s) #len() 统计字符串个数(也可以统计元组、列表、集合等)
print(s[0]) #s[n] 提取字符串中单个字母或元素,n是第几个,从头开始左到右,以0开始排列,0、1、2、3...
print(s[-1]) #倒序表示,从结尾提取,右到左,以-1开始,-1、-2、-3...
5 字符串格式化
字符串%占位符转义使用%
msg = 'name : %s , age : %d, job:%%' % ('allen', 18)print(msg)
name : allen , age : 18, job:%
- 字符串切割
split() 切割功能,切割后形成的是列表。
(1)按照特定内容切割
(2)可以指定切割次数
(3)按行切割,换行符切割
>>> s = "this is a string"
>>> print(s)
this is a string
>>> print(s[6])
s
>>> print(s[-1])
g
>>> print(s[3:9])
s is a
- 字符串的删除
字符串本身是不可变的,一个字符串定义以后,对他本身是不能做任何操作的,所以增删改都是对原字符串拷贝的副本的操作,原来的字符串还是原来的字符串,它本身并没有变。
列表删除
pop(index)
remove(元素)
del 切片
clear() 清空列表
字典删除
pop(ke) #有返回值
del dic[key]
popitem() #随机删除
clear() #清空字典
(1)strip() 默认删除行首或者行尾的空白符(包括 \n、\r、\t )
(2)切片提取进行删除
- 扫描字符串:
#strpbrk(sStr1,sStr2)
sStr1 = ' cekjgdklab'
sStr2 = 'gka'
nPos = -1
for c in sStr1:
if c in sStr2:
nPos = sStr1.index(c)
break
print nPos
- 查找字符串
#strstr(sStr1,sStr2)
sStr1 = 'abcdefg'
sStr2 = 'cde'
print sStr1.find(sStr2)
- 复制字符串
#strcpy(sStr1,sStr2)
sStr1 = 'strcpy'
sStr2 = sStr1
sStr1 = 'strcpy2'
print sStr2
11.比较字符串
#strcmp(sStr1,sStr2)
sStr1 = 'strchr'
sStr2 = 'strch'
print cmp(sStr1,sStr2)
12.将字符串中的大小写转换
str.lower() -> 转换字符串中所有大写字符为小写
str.upper() -> 转换字符串中所有小写字符为大写
str.swapcase() -> 将字符串中大写转换为小写,小写转换为大写
str.title() -> 返回"标题化"的字符串,即首字母转化为大写
三.字符串的常用方法汇总
常用查找方法