字符串常用方法

  1、s.capitalize()

    描述:返回字符串s的副本,并将首字符变为大写。

    示例:  

>>> s='yesterday when I was Young!'
>>> print(s.capitalize)
<built-in method capitalize of str object at 0x013B31A8>
>>> print(s.capitalize())
Yesterday when i was young!
>>> s='1234,hello!WORLD!' #首字符为数字
>>> print(s.capitalize())
1234,hello!world!
>>> #首字符变为大写,其它字符是大写变为小写
>>> #若首字符非字母,则首字符不变化;

  2、s.find(t,start,end)

     描述:返回t在s中(或在s的start:end切片中)的最左位置,如果没有找到,就返回 -1;使用str.rfind()则可以发现相应的最右边位置;

     find方法可以在一个较长的字符串中查找子字符串,它返回子串所在位置的最左端索引。如果没有找到则返回-1;

    示例:

>>> title='For man is man and master of his fate'
>>> title.find('man')
4
>>> title.find('fate')
33
>>> title.find('for')
-1
>>>

    字符串的find方法并不返回布尔值。如果返回的是0,则证明在索引0位置找到了子串。

    find方法还可以接受可选的起始点和结束点参数:

    示例:

>>> s='*** A young idler,an old beggar!!! ***'
>>> s.find('***')
0
>>> s.find('***',1)#只提供起始点
35
>>> s.find('!!!')
31
>>> s.find('!!!',0,33)#提供起始点和结束点
-1
>>> s.find('!!!',10,35)
31
>>> s.find('!!!',31,34)
31
>>> s.find('!!!',31,33)#注意,由起始和终止指定的范围(第二个和第三个参数)包含第一个索引,但不包含第二个索引;
-1
>>>

  3、s.join(seq)

    描述:返回序列seq中每个项连接起来后的结果,并以s(可以为空)在每两项之间分隔;

    join方法是非常重要的字符串方法,它是split方法的逆方法,用来在队列中添加元素:

     示例:

>>> seq=[99,'name',1,233,7,'=','ok']
>>> seq
[99, 'name', 1, 233, 7, '=', 'ok']
>>> s='+'>>> s.join(seq)# 连接有数字元素的列表
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
s.join(seq)# 连接有数字元素的列表
TypeError: sequence item 0: expected str instance, int found
>>> seq=['','name','','','','=','ok']
>>> s.join(seq)#连接字符串列表
'99+name+1+233+7+=+ok'
>>> s1=''
>>> s1.join(seq)
'99name12337=ok'
>>> s2=' '
>>> s2.join(seq)
'99 name 1 233 7 = ok'
>>> s3='Email:justzhi@163.com'
>>> s3.join(seq)
'99Email:justzhi@163.comnameEmail:justzhi@163.com1Email:justzhi@163.com233Email:justzhi@163.com7Email:justzhi@163.com=Email:justzhi@163.comok'
>>> dirs='','usr','bin','env'
>>> dirs
('', 'usr', 'bin', 'env')
>>> '/'.join(dris)
Traceback (most recent call last):
File "<pyshell#37>", line 1, in <module>
'/'.join(dris)
NameError: name 'dris' is not defined
>>> '/'.join(dirs)
'/usr/bin/env'
>>> '\'.join(dirs)
SyntaxError: EOL while scanning string literal

  可以看到,需要添加的队列元素都必须是字符串。

  4、s.lower()

    描述:将s中的字符变为小写

    如想想要编写“不区分大小写”的代码的话,那么这个方法就派上用场了。如想要在列表中查找一个用户名是否存在(不区分大小写),解决方法就是存储和搜索时把所有名字都转换为小写。

    示例:

>>> 'ABCDEFGhijKmLnpXXz'.lower()
'abcdefghijkmlnpxxz'
>>> name='JustZhi'
>>> names=['justzhi','smith','jones']
>>> if name.lower() in names: print('Found it!') Found it!
>>>

  5、s.replace(t,u,n)

  返回s的一个副本,其中每个(或最多n个,如果给定)字符串t使用u替换;

>>> s='no pain,no gain.'
>>> s.replace('no','No',1)
'No pain,no gain.'
>>> s.replace('no','No')
'No pain,No gain.'
>>> s.replace('ain','ain!',2)
'no pain!,no gain!.'
>>> s.replace('.','!')
'no pain,no gain!'
>>>

  6、s.split(t,n)

  返回一个字符串列表,要求在字符串t处至多分割n次,如果没有给定n,就分割尽可能多次,如果t没有给定,就在空白处分割。

  示例:

>>> s='23+77+23+56+100'
>>> s.split('+')
['', '', '', '', '']
>>> s.split('+',2)
['', '', '23+56+100']
>>> s.rsplit('+',2)
['23+77+23', '', '']
>>> dirs='usr/bin/env'
>>> dirs
'usr/bin/env'
>>> dirs.split('/')
['usr', 'bin', 'env']
>>> dirs.split()
['usr/bin/env']
>>> dirs.split('/',2)
['usr', 'bin', 'env']
>>>  

  7、s.strip(chars)

  返回s的一个副本,并将开始处与结尾处的空白字符(或字符串chars中的字符)移除,str.lstrip()仅剥离起始处的相应字符,str.rstrip()只剥离结尾下的相应字符。

  strip方法返回去除两侧(不包括内部)空格的字符串: 

>>> s='           internal whitespace is kept   '
>>> s.strip()
'internal whitespace is kept'
>>> #也可以指定需要去除的字符,将它们列为参数即可。
>>> '------ Hello! everyone!-------'.strip('-')
' Hello! everyone!'
>>> '------ Hello! everyone!-------'.strip('-!')
' Hello! everyone'
>>> '------ Hello! everyone!-------'.strip('one-!')
' Hello! every'
>>> '------ Hello! everyone!-------'.strip('-e!')
' Hello! everyon'
>>>

   8、s.isdigit()

    如果s非空,并且每个字符都是一个ASCII数字,就返回True

    示例:

>>> ''.isdigit()
True
>>> '5ccc'.isdigit()
False
>>> '8 '.isdigit()
False
>>>

    实例:判断用户输入年龄是否合法  

while True:
age=input('请输入你的年龄:')
if age.isdigit()==True:
print('你的年龄是:%s'%age)
break
else :
print('你输入的年龄不合法!请重新输入!')

    运行测试结果:

请输入你的年龄:4q
你输入的年龄不合法!请重新输入!
请输入你的年龄:
你输入的年龄不合法!请重新输入!
请输入你的年龄:00000123q
你输入的年龄不合法!请重新输入!
请输入你的年龄:qqqq
你输入的年龄不合法!请重新输入!
请输入你的年龄:135903956987
你的年龄是:135903956987
>>>

  类似方法:

  s.isalnum()  如果s非空,并且其中的每个字符都是字母数字的,就返回True。

  s.isalpha()   如果s非空,并且其中的每个字符都是字母的,就返回True.

  s.isspace()  如果s非空,并且其中的每个字符都是空白字符,就返回True.

  s.isdentifier()  如果s非空,并且是一个有效的标识符,就返回True.

  

Python基础学习之字符串(2)的更多相关文章

  1. Python基础学习之字符串(1)

    字符串 由字符组成的序列,即字符串. 1.基本字符串操作 所有标准的序列操作(索引.切片.乘法.判断成员资格.求长度.取最小值和最大值)对字符串同样适用: >>> website=' ...

  2. python基础学习一 字符串的相关操作

    python的字符串 在python中,字符串是以unicode编码的,所以python的字符串支持多语言 对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数是把编 ...

  3. python基础学习笔记——字符串方法

    索引和切片: 索引:取出数组s中第3个元素:x=s[2] 切片:用极少的代码将数组元素按需处理的一种方法.切片最少有1个参数,最多有3个参数,演示如下: 我们假设下面所用的数组声明为array=[2, ...

  4. Python基础学习:字符串认知与应用

    一.len()  家电维修 len:全写是length,是计算容量的函数:例如a="1234",len(a)=4 如果是中文字符,比如a="哈",len(a)= ...

  5. Python基础学习三 字符串

    字符串方法 slit = ['a', 'b', 'c', 'd', 'f', 'g'] s2='hhhhhhhhhh' tu = (1,2,3,4,5) d={'name':'nnn','age':1 ...

  6. Python基础学习_01字符串的拼接(字符串的格式化输出)

    # 字符串的拼接 ---字符串的格式化输出 # 字符串的拼接 ---字符串的格式化输出 name = input("name:") age = input("age:&q ...

  7. python基础学习之字符串的功能方法

    字符串:str的功能记录(该类需要记忆) .isdecimal():意思是判断是否由数字构成,仅仅可以解析"123" a='123'    d=a.isdecimal()    p ...

  8. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  9. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

随机推荐

  1. LCA最近公共祖先模板(求树上任意两个节点的最短距离 || 求两个点的路进(有且只有唯一的一条))

    原理可以参考大神 LCA_Tarjan (离线) TarjanTarjan 算法求 LCA 的时间复杂度为 O(n+q) ,是一种离线算法,要用到并查集.(注:这里的复杂度其实应该不是 O(n+q)  ...

  2. php数组·的方法3-数组指针

    /* * 数组指针函数 * */ //key() current() 指针一直停在第一位 不会下移 echo '<hr>'; $arr5 = array('name' => 'hxq ...

  3. 使用EventBus实现兄弟组件之间的通信

    使用EventBus实现兄弟组件之间的通信 需求:为了实现菜单折叠的效果,例如http://blog.gdfengshuo.com/example/work/#/dashboard header组件和 ...

  4. Charles抓包使用总结

    一.简介 Charles是目前最强大最流行的http抓包调试工具,Mac.Unix.Windows各个平台都支持.特别是做APP开发,调试与服务端的通信,Charles是必备工具. 二.Charles ...

  5. shell 0学习

    例一:列出/home 文件夹下的所有文件和目录的详细资料,可以使用如下命令:  ls -a -l /home   ls -al /home 例二:列出当前目录中所有以”d”开头的文件目录的详细内容,可 ...

  6. Linux文件操作常用选项

    常用选项 选项 功能 -a 查看隐藏文件 -l 列表方式查看 -h 人性化显示 * 通配符,忽略多个字符匹配 ? 通配符,忽略一个字符匹配 [Num1-Num2] 通配符,查看从Num1到Num2的匹 ...

  7. RTT设备与驱动之SPI

    SPI全双工设备的操作分为主设备和从设备(可以多个,多线程下从设备访问主设备要先获得总线控制权) rt_device_t rt_device_find(const char* name);查找设备 s ...

  8. java && C# 线程

      1.多个线程用到同一个资源的话,必须lock 2.为了解决,在竞争的情况下,优先分配资源给A.就是A和B线程都同时在同一时刻需要资源x,然后的话也不清楚系统是具体怎样调度的.或者说怎样调度,都有可 ...

  9. python单元测试框架-unittest(一)

    简介 unittest单元测试框架不仅可以适用于单元测试,还可以使用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. ...

  10. If you are tired...

    如果你累了 1. 深呼吸 放松身体,深呼吸五分钟. 2. 听音乐 静静地听几首歌放松一下就好了,比如王豪学长推荐的追梦赤子心,骄傲的少年. 3. 冥想 放松身体,处于冥想状态. 4. 干洗脸.鸣天鼓. ...