字符串

  • 作用: 名字,性别,国籍,地址等描述信息
  • 定义: 在单引号、双引号、三引号内,由一串字符组成

优先掌握的操作:

  • 按索引取值(正向取+反向取):只能取
  • 切片(顾头不顾尾,步长)
  • 长度len
  • 成员运算in和not in
  • 移除空白strip
  • 切分split
  • 循环

strip移除空白

  1. name='*egon**'
  2. print(name.strip('*'))
  3. print(name.lstrip('*'))
  4. print(name.rstrip('*'))

判断指定字符是否在结尾或开对,返回True或False

  1. name='alex_SB'
  2. print(name.endswith('SB')) #判断字给定字符串是否在结尾,如果在则返回True,不在则为False
  3. ------
  4. True
  5. print(name.startswith('alex')) #判断给定字符串是否在开头,如果在则返回True,不在则为False
  6. ----
  7. True

字符串替换replace方法

  1. name='alex say :i have one tesla,my name is alex'
  2. print(name.replace('alex','SB',1)) #替换,把alex替换为SB,1表示只替换匹配到的第一个字符串
  3. -----
  4. SB_SB

自定义格式format的三种玩法

  1. #format,自定义格式,注意中间的空格。把format后面的字符串放入大括号中。
  2. res='{} {} {}'.format('egon',18,'male')
  3. print(res)
  4. --------
  5. egon 18 male
  6. #按照输入的位置,按0,1,2,3指定位置排列。
  7. res='{1} {0} {1}'.format('egon',18,'male')
  8. print(res)
  9. ---
  10. 18 egon 18
  11. #设置变量,指定变量的位置,format后面的输入顺序就不重要了。
  12. res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
  13. print(res)
  14. ---
  15. egon 18 male

查找字符串中索引位置find,rfind,index,rindex,count方法

  1. name='egon say hello'
  2. print(name.find('0',1,3)) #查找0,顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
  3. ----
  4. -1
  5. #同上,但是找不到会报错
  6. print(name.index('e',2,4))
  7. ---
  8. ValueError: substring not found
  9. #顾头不顾尾,如果不指定范围则查找所有
  10. print(name.count('e',1,3))
  11. ---
  12. 0

指定分隔符-split,把一串字串切为列表。

  1. name='root:x:0:0::/root:/bin/bash'
  2. print(name.split(':')) #指定冒号为默认分隔符 为空格
  3. ---
  4. ['root', 'x', '0', '', '/root/', '/bin/bash']
  5. #只想拿到顶级目录
  6. name='C:/a/b/c/d.txt'
  7. print(name.split('/',1))
  8. ---
  9. ['C:', 'a/b/c/d.txt']
  10. #从右开始切分
  11. name='a|b|c'
  12. print(name.rsplit('|',1))
  13. ---
  14. ['a|b', 'c']

join

  1. #可迭代对象必须都是字符串,把tag加入到对应的字符串中。
  2. tag='-'
  3. print(tag.join(['egon','say','hello','world']))
  4. ---
  5. egon-say-hello-world

字符串居中和填充-center

  1. name='egon'
  2. #30为总字符串,让name在30个字符中居中,不够的用-填充。
  3. print(name.center(30,'-'))
  4. ---
  5. #30为总字符串,让name在30个字符中居中,不够的用-填充。

字符串靠左和填充-ljust

  1. #30为总字符串,让name在30个字符中排最左,不够用*填充
  2. name='egon'
  3. print(name.ljust(30,'*'))
  4. ---
  5. egon**************************

字符串靠右和填充-rjust

  1. #30为总字符串,让name在30个字符中排最右,不够用*填充。
  2. name='egon'
  3. print(name.rjust(30,'*'))
  4. ---
  5. **************************egon

#用0填充-zfill

  1. name='egon'
  2. print(name.zfill(50)) #50个字符,name在最右。
  3. ---
  4. 0000000000000000000000000000000000000000000000egon

指定制表符的长度-expandtabs

  1. name='egon\thello' #\t制表符
  2. print(name)
  3. ---
  4. egon hello
  5. name='egon\thello'
  6. print(name.expandtabs(1)) #1为指定多少个字隔做为分隔符号。
  7. ---
  8. egon hello

大小定替换-lower,upper

  1. #全替换为小写
  2. name='Egon'
  3. print(name.lower())
  4. ---
  5. egon
  6. #全替换为大写
  7. print(name.upper())
  8. ---
  9. EGON

首字母大写-captalize

  1. name='egon'
  2. print(name.capitalize())
  3. ---
  4. Egon

大小写翻转-swapcase

  1. print(name.swapcase())
  2. ---
  3. eGoN

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

  1. msg='egon say hi'
  2. print(msg.title())
  3. ---
  4. Egon Say Hi

is数字系列

在python中

num1=b'4' #bytes

num2=u'4' #unicode,python3中无需加u就是unicode

num3='四' #中文数字

num4='IV' #罗马数字

isdigt:bytes,unicode

  1. #isdigit来判断字符串是否为数字
  2. #0-9数字类型返回True
  3. print(num1.isdigit()) #True
  4. print(num2.isdigit()) #True
  5. #非0-9数字类型返回False
  6. print(num3.isdigit()) #False
  7. print(num4.isdigit()) #False

isnumberic:unicode中文数字,罗马数字

  1. #bytes类型无isnumberic方法
  2. print(num2.isnumeric()) #True
  3. print(num3.isnumeric()) #True
  4. print(num4.isnumeric()) #True

三者不能判断浮点数

  1. num5='4.3'
  2. print(num5.isdigit())
  3. print(num5.isdigit())
  4. print(num5.isdigit())

总结:

最常用的isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景

如果要判断中文数字或罗马数字,则需要用到isnumeric

is其他

  1. print('===>')
  2. name='egon123'
  3. print(name.isalnum()) #判断字符串是否由字母或数字组成
  4. print(name.isalpha()) #判断字符串是否只由字母组成
  5. print(name.isidentifier())
  6. print(name.islower())
  7. print(name.isupper())
  8. print(name.isspace())
  9. print(name.istitle())

Python字符串详解的更多相关文章

  1. 13.Python字符串详解(包含长字符串和原始字符串)

    简单地理解,字符串就是“一串字符”,也就是用引号包裹的任何数据,比如“Hello,Charlie”是一个字符串,“12345”也是一个字符串. Python 要求,字符串必须使用引号括起来,可以使用单 ...

  2. Python变量和字符串详解

    Python变量和字符串详解 几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣 ...

  3. [转] Python Traceback详解

    追莫名其妙的bugs利器-mark- 转自:https://www.jianshu.com/p/a8cb5375171a   Python Traceback详解   刚接触Python的时候,简单的 ...

  4. python 数据类型详解

    python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...

  5. python数据类型详解(全面)

    python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...

  6. Python Collections详解

    Python Collections详解 collections模块在内置数据结构(list.tuple.dict.set)的基础上,提供了几个额外的数据结构:ChainMap.Counter.deq ...

  7. 转 python数据类型详解

    python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...

  8. python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题

    python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题 一丶爬虫概述       通过编写程序'模拟浏览器'上网,然后通 ...

  9. SQL Server日期时间格式转换字符串详解

    本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...

随机推荐

  1. iOS 应用全部添加滑动返回

    if ([self  class] == [HomeViewController class]||[self  class] == [ComprehensivefinanceViewControlle ...

  2. 代理内网上网-iptables

    代理内网上网-iptables 1.1 环境说明 主机A:(能上网) ip:内172.16.1.7/24 外10.0.0.7/24 系统CentOS 6.9 主机B:(不能上网) ip:内172.16 ...

  3. 云计算之路-阿里云上:docker swarm 集群故障与异常

    在上次遭遇 docker swarm 集群故障后,我们将 docker 由 17.10.0-ce 升级为最新稳定版 docker 17.12.0-ce . 前天晚上22:00之后集群中的2个节点突然出 ...

  4. Angular整合zTree

    1 前提准备 1.1 新建一个angular4项目 参考博文:点击前往 1.2 去zTree官网下载zTree zTree官网:点击前往 三少使用的版本:点击前往 2 编程步骤 从打印出zTree对象 ...

  5. JavaScript练习2

    今天做了一些JS数组的练习题 一.往数组中插入一个数字 var attr = [1,2,3,4,5,6]; var c = 7; for(var i=0;i<attr.length;i++) { ...

  6. bzoj:4105: [Thu Summer Camp 2015]平方运算

    Description   Input 第一行有三个整数N,M,p,分别代表序列的长度.平方操作与询问操作的总次数以及在平方操作中所要模的数.   接下来一行N个数代表一开始的序列{X1,X2,... ...

  7. poj 2758 && BZOJ 2258 Checking the Text 文本校对

    Description   为了给Wind买生日礼物,Jiajia不得不找了一份检查文本的工作.这份工作很无聊:给你一段文本 要求比对从文本中某两个位置开始能匹配的最大长度是多少.但比无聊更糟糕的是, ...

  8. linphone-android-客户端APP-工程解读

    LinphoneLauncherActivity 是APP的入口组件,在这个组件里,它会启动LinphoneService这个后台服务,然后不断地判断这个后台服务是否已经启动完毕,如果已经启动完毕后, ...

  9. UEP-时间的比较

    时间的比较: var rec = ajaxform.getRecord(); var sd = rec.get("startDate"); var ed = rec.get(&qu ...

  10. JavaScript八张思维导图—Date用法

    JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vu ...