关闭

python字符串操作总结

来源:网络 文章列表 2019-06-18 8
python字符串增删改查[strap()函数, split()函数 , find()函数 , 切片等]

字符串增删改查[strap()函数, split()函数 , find()函数 , 切片等]

学习一门编程语言一般从基础的数据类型开始 ,python中的数据类型有:整型、浮点、布尔、字符串、列表、元组、字典、集合、空等,之前总结了一些字符串的操作和应用,希望能帮到学习python的朋友们。

字符串的各种操作

1,字符串的拼接

>>>s='hello'*2                                         用乘法重叠
>>>print(s)
hellohello

>>>s='hello'+'world'                                   用加号拼接
>>>print(s)
helloworld

>>>a='world'                                           用join 拼接
>>>s=''.join(a)
>>>print(s)
world
2,字符串的统计
>>>s='asjbsbjjdj'
>>>len(s)                        len() 统计字符串个数(也可以统计元组、列表、集合等)                      
 10
 
>>>print(s[0])                   s[n] 提取字符串中单个字母或元素,n是第几个,从头开始左到右,以0开始排列,0、1、2、3...
a  
>>>print(s[-1])                  倒序表示,从结尾提取 右到左,以-1开始,-1、-2、-3....
j

 

3、字符串切片 提取

切片(取其中某段) 变量[开始:结束:步进],中括号[]定义切片,列表、元组、集合等都可以适用 如: s=‘abcdefghijklmn’

>>>s = 'abcdefghijklmn'  
>>>s[0:4]                        包括起始值(元素)不包括结束值,默认步进值为1 ,
'abcd'
>>>s[0:6:2]                      设置步进值为2 提取
'ace'

>>>s[4:]                          当一边没有指定时,就取到边界
'efghijklmn'
>>>s[:4]
'abcd'

>>>s[1:-1]                         从结尾提取,下标从-1开始
'bcdefghijklm'
>>>s[-8:]
'ghijklmn'
>>>s[:-8]
'abcdef'
>>>s[:]                            表示全选
'abcdefghijklmn'
>>>s[::-1]                         使其中的元素 倒叙排列
'nmlkjihgfedcba'

 

4、字符串切割

split()切割功能,切割后 形成的是列表。
1,按照特定内容切割,‘’引号里可以是空格、字符(默认是空格)
2,可以指定切割次数
3,可以从右面切割
4,按行切割,换行符切割

>>>t='I love you more than I can say'
>>>t.split(' ')                                              按空格切割
['I', 'love', 'you', 'more', 'than', 'I', 'can', 'say']
>>>t.split('o')                                              按字符o切割
['I l','ve you m','re than I can say']

>>>t.split(' ',3)                                    按空格切割 并指定切割次数,3次
['I','love','you','more than I can say']
>>>t.rsplit(' ',2)                                   从右面开始切割,切割2次
['I love you more than I','can','say']

>>>l='''江畔何人初见月
        江月何年初照人
        人生代代无穷已
        江月年年望相似'''
>>>l.splitlines()                                     splitlines()  按行切割
['江畔何人初见月','江月何年初照人','人生代代无穷已','江月年年望相似']

 

5,字符串的删除

1,strip()默认删除行首或者行尾的空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')
2,切片提取进行删除

>>>s=' ---anj123kks+++ '
>>>s.strip()                            删除两边的空白
'---anj123kks+++'
>>>print(s.strip())                     测试打印的结果
---anj123kks+++

>>>s.lstrip()                           删除左边的空白字符   
'---anj123kks+++ '
>>>s.rstrip()                           删除右边的空白字符
' ---anj123kks+++'

>>>s.strip().strip('-+')                删除两边的空白和‘- +’字符
'anj123kks'

>>>s[4:13]                              使用切片删除不需要的字符
'anj123kks'
>>>s[4:6]+s[11:13]                      切片和拼接删除
'anks'

 

6,python中find() 函数查找字符串下标位置

从一个字符串s中查找另一个字符串或字符第一次出现的下标位置,找不到返回 -1.

>>>s='abcdedjcjdlslk'
>>>s1='abc'
>>>s.find(s1)                       返回第一次出现abc的位置下标0
0
>>>s.find('j')                      返回第一次出现 j 的位置下标6
6
>>>s.find('j',2)                    从下标位置2开始查找,找到返回第一次出现的位置下标
6
>>>s.find('j',7)                    从下标位置7开始查找
8
>>>s.find('j',10)                   从下标位置10开始查找,没有返回-1
-1

 

5、字符串de字符操作

upper:全大写 ----------------------------- print(h.upper())
lower:全小写 ------------------------------ print(h.lower())
swapcase:大小写转换 ------------------ print(h.swapcase())
capitalize:一句话首字符大写 -----------print(h.capitalize())
title:每个单词首字母大写 ---------------- print(h.title())
count:统计某个字符串出现的次数 -----print(h.count(‘o’))

>>>h='I love you more than I can say'
>>>h.upper()                                               全大写
'I LOVE YOU MORE THAN I CAN SAY'
>>>h.lower()                                               全小写   
'i love you more than i can say'
>>>h.swapcase()                      大小写转换 大写转小写 小写转大写
'i LOVE YOU MORE THAN i CAN SAY'
>>>h.capitalize()                               一句话只有首字符大写
'I love you more than i can say'
>>>h.title()                                     每个单词的首字符大写
'I Love You More Than I Can Say'
>>>h.count('o')                               统计某一个字符出现的次数  
3


6、字符串的相关判断

startswith:是否以指定(某)字符串开头,-- print(h.startswith(‘I’))
endswith:是否以指定(某)字符串结,----- print(h.endswith(‘red.’))
istitle:是否每个单词首字母大写 ,-- ----------print(h.istitle())
islower:是否是全小写 --------------print(h.islower())
isupper:是否是全大写 --------------print(h.isupper())
isdecimal:是否是数字 ------------- print(h.isdecimal())
isalpha:是否是字母 ---------------- print(h.isalpha())
isalnum:是否是数字或字母 ------ print(h.isalnum())

>>>h='I love you more than I Can Say 12345'
>>>h.startswith('I')
True
>>>h.endswith('Say')
False
>>>h.istitle()
False
>>>h.islower()
False
>>>h.isupper()
False
>>>h.isdecimal()
False
>>>h.isalpha()
False
>>>h.isalnum()
False

 

7、字符串de转义

有些字符我们需要它显示出来,python用反斜杠 \ 转义字符。

>>>a = 'I\'m\\very ha\\tppy'
>>>print(a)
I'm\very ha\tppy

print r’\t\r’ 实际输出为“\t\r”。
转义字符 描述
(在行尾时) 续行符
\ 反斜杠符号
’ 单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数yy代表的字符,例如:\o12代表换行
\xyy 十进制数yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

 

8、字符串的 占位(格式化)使用:(重要 以后会常用)

(1),百分号%占位的使用,用%来定义。

%s:占位字符串,%d:占位整数,%f:占位小数,%c:占位单个字符

>>>name='二狗'
>>>like='铁锤妹妹'
>>>age=16
>>>'俺叫%s,今年%d岁了,暗恋%s.' % (name,age,like)
'俺叫二狗,今年16岁了,暗恋铁锤妹妹.'

(2),大括号方法,用大括号定义。

使用’ xxx{} '.format() 占位函数。

>>>name='二狗'
>>>like='铁锤妹妹'
>>>age=16
>>>'我是{},今年{},暗恋{}。' .format(name,age,like)
'我是二狗,今年16,暗恋铁锤妹妹。'

 

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论
关闭