1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python字符串截取后拼接_Python字符串拼接 截断 搜索 替换 python 截取 查找

python字符串截取后拼接_Python字符串拼接 截断 搜索 替换 python 截取 查找

时间:2018-11-16 15:40:09

相关推荐

python字符串截取后拼接_Python字符串拼接 截断 搜索 替换 python 截取 查找

熟练掌握字符串操作可以使我们的开发效率更高,接下来总结一下python字符串的操作

一、字符串拼接

1.字符串拼接,直接用加号即可,

string1 = "Today is "

string2 = "a sunny day"

string = string1 + string2 + '!'

print(string)

打印结果:Today is a sunny day!

2.字符串列表,可使用 ''.join(iterable) 拼接

strings = ['Today', 'is', 'a', 'sunny','day']

newstr = ' '.join(strings)

print(newstr)

同样打印:Today is a sunny day

这里引号中的内容为一个空格,可以替换成成其他任何字符或字符串,如

' , ' ' : '

二、字符串截取和分割

1.截取:

(1)使用 字符串[开始索引:结束索引:步长]

string = '0123456789'

print(string[0:3]) # 使用顺序索引,截取头三个字符

>>012

print(string[-5:]) #使用倒序索引,截取后五个字符

>>56789

print(string[::2]) #忽略下标,即从开始到结尾,以2为步长截取

>>02468

newstr = string[::-1] #这样子可以实现字符串倒序

print(newstr)

>>9876543210

>>表示输出结果

(2)还有一种专门去头去尾的截取 def strip(chars: Optional[str]=...)

string = ' useful string '

print(string.strip())

>>useful string

string2 = '###useful string###'

print(string2.strip('#'))

>>useful string

2.分割:

(1)str.split('分割标示符号')

string = '1,2,3,4'

strlist = string.split(',')

print(strlist)

>>['1', '2', '3', '4']

(2)splitlines(keepends: bool=...) 返回字符列表

这个函数相当于 string.split('\n')

string = 'first line \n second line'

print(string.splitlines())

>>['first line ', ' second line']

string = 'first line \n second line'

print(string.splitlines(keepends=True))

>>['first line \n', ' second line']

三、字符串查找和替换

1.查找、统计

def count(x: Text, start: Optional[int]=..., end: Optional[int]=...) ->int 返回个数

def find(sub: Text, start: Optional[int]=..., end: Optional[int]=...)->int 返回下标

string = '1,1,2,1,3,4'

print(string.count('1'))

>>3

print(string.find('2'))

>>4

#find函数也可以直接用string.index()代替

#不同的是index找不到会报错,find()是返回-1

print(string.index('2'))

>>4

print(string.startswith(('1','2','3'), 2)) #查看第一个string元素是否是给出元组中的元素

>>True

print(string.startswith(('4'))) #除了startswith, 还有endswith()

>>False

其实string类还有rfind(‘char’)函数,返回从后面数起char的第一次出现的下标,

r是reverse的缩写,表示从后面开始,类似的还有rstripe()只去掉后面的空格,rsplit()从后面开始分割, rindex()返回最大 的下标

2.替换def replace(old: str, new: str, count: int=...) ->string

count可以缺省,default=1,替换所有的旧字符串

string = 'abc abc def'

print(string.replace('abc', 'AAA', 1))

>>AAA abc def

四、其他

1.大小写转换

2.encode和decode

3.类型判断

#大小写转换

print('abcd'.capitalize())

>>Abcd

print('abcd'.upper())

>>ABCD

print('ABCD'.lower())

>>abcd

#encode and decode

string = '我爱北京天安门'

temp = string.encode('GBK')

string2 = temp.decode('GBK')

#判断字符串类型

string = '123'

print(string.isascii()) #是否是ASCII编码的值

>>True

print(string.isalnum()) #是否是字母或者数字

>>True

print(string.isdecimal())

>>True

print(string.isnumeric())

>>True

print(string.isdigit())

>>True

后三个函数的区别:

isdigit()

True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字

False: 汉字数字

Error: 无

isdecimal()

True: Unicode数字,,全角数字(双字节)

False: 罗马数字,汉字数字

Error: byte数字(单字节)

isnumeric()

True: Unicode数字,全角数字(双字节),罗马数字,汉字数字

False: 无

Error: byte数字(单字节)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。