zoukankan      html  css  js  c++  java
  • python(2)-字符串(2)

    字符串格式化:

    前面说过一种字符串格式化方法,来复习一下:

    >>> print('His name is %s', 'jeff')
    His name is %s jeff

    其实格式化方法不止一种:

    >>> print('{0} , {1}'.format('alex','33'))
    alex , 33

    后面的值分按照顺序挨个匹配出来。但是这样好像不太直观,改进一下

    >>> print('{name},{age}'.format(name='jeff',age='23'))
    jeff,23

    这样是不是很直观了,对应关系一目了然

    >>> print('%-10s%-10s%-10s' % ('name','age','job'))
    name      age       job

    %-10s 结字符串10个字符的空间,在对齐输出的时候很有用哦。

    下面看看字符串的方法:

    >>> name = 'jeff'
    >>> name.__contains__('ff')    #’ff’是否包含在name里
    True
    >>> name.capitalize()    #首字母大写
    'Jeff'
    >>> name.center(20)        #在20个字符空间内居中
    '        jeff        '
    >>> name.center(20,'*')      #可以自定义居中
    '********jeff********'
    >>> name.count('f')         #计数
    2
    >>> name.count('f',0,2)    #在切片中计数
    0
    >>> name.count('f',0,3)
    1
    >>> name.endswith('f')     #判断不否以f结尾
    True
    >>> name.endswith('e',0,2)   #在切片中判断
    True
    >>> name = 'j	eff'    
    >>> name.expandtabs()     #显示字符串中的转义字符,	是tab
    'j       eff'
    >>> name.index('f')   #返回索引值
    3
    >>> name.find('ex')    #返回索引值,没找到返回-1
    -1
    >>> name.find('ff')       #r返回索引,第一个匹配的
    3
    >>> name.index('x')     #index方法没找到时会抛出异常
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: substring not found
    >>>
    >>> name = 'jeff'      
    >>> name.isdigit()                #是否是数字数字,注意负数也会返回False哦,正整数和零才返回True
    False
    >>> name.isalnum()             #是否全是字母或数字
    True
    >>> name.isalpha()              #是否全是字母
    True
    >>> name.isdecimal()          #是否是十进制小数
    False
    >>> name.isidentifier()         #判断字符串是否合法,实际上是判断变量是否合法
    True
    >>> name.islower()              #是否全是小写
    True
    >>> name.isupper()             #是否全是大写
    False
    >>> name.isnumeric()         #是否是数字
    False
    >>> name.isspace()            #是否是空格
    False
    >>> name.istitle()                 #是否是标题
    False

    join()方法

    >>> li = ['a','b','c','d']
    >>> '_'.join(li)
    'a_b_c_d'

    strip()方法: 去掉左右两边的空格,换行符也会被去掉哦。。

    >>> 'name   '.strip()
    'name'
    >>> '  name   '.strip()
    'name'
    >>> 'name
    '.strip()
    'name'
    >>> '
    name
    '.strip()
    'name'

    lstrip():去掉左边的

    rstrip() :  去掉右边的

    看看下面这个

    >>> intab = "aeiou"
    >>> outtab = '12345'
    >>> from string import maketrans          
    >>> trantab = maketrans(intab,outtab)        #python3在这里会抛出异常不知道为啥
    >>> str = 'this is string example.....wow!!'
    >>> print str.translate(trantab)
    th3s 3s str3ng 2x1mpl2.....w4w!!
    >>> print str.translate(trantab,'xm')   #按映射关系替换,并移出x和m
    th3s 3s str3ng 21pl2.....w4w!!

    继续,看一个分割方法

    >>> name = 'jackisppp'
    >>> name.partition('is')
    ('jack', 'is', 'ppp')

    peplace()  替换

    >>> name = 'jack is teacher'
    >>> name.replace('a','x')     #将所有a替换成x
    'jxck is texcher'
    >>> name.replace('c','T',2)   #替换两个
    'jaTk is teaTher'

    split()

    splitlines()

    startswith()

    swapcase()  大小写转换

    title()    转换成标题

    upper()    转成大写

  • 相关阅读:
    Julia出现错误ERROR: LoadError: syntax: try without catch or finally
    tensorflow白话篇
    论秋招中的排序(排序法汇总-------中篇)
    论秋招中的排序(排序法汇总-------上篇)
    红包的收益(笔试)
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli2/Option
    Spark 贝叶斯分类算法
    centos php Zookeeper kafka扩展安装
    SpringBoot tomcat
    flume 整合kafka
  • 原文地址:https://www.cnblogs.com/huangxm/p/5172411.html
Copyright © 2011-2022 走看看