EleanorYe

导航

Python 字符串String相关知识

  1. test.capitalize( )     |首字母大写
  2. test.lower( )             |全部变成小写(只能处理英文字母)
  3. test.casefold( )         |全部变成小写(包括特殊字符的转换,范围比lower更广)
  4. test.upper( )             |把字符串变成大写字母
  5. test.islower( )           |判断字符串中是否全部为小写字母
  6. test.isupper( )           |判断字符串中是否全部为大写字母
  7. test.swapcase( )        |大小写转换,全部取反
  8. test.center( self, width, fillchar = None )  
    |设置宽度并将内容居中。若设置width=20,则表示一共20位空格位,字符串居中;fillchar若设置位*,则表示字符串两边的空白位都是*,fillchar只能设置一个字符,否则会报错。(fillchar后面有默认值none,表示fillchar的值可传可不传;width后面没有设置默认参数,表示必须要传值。)
  9. test.ljust( )               |字符串靠左
  10. test.rjust( )               |字符串靠右
  11. test.zfill( )             |除开字符串的空白部分全部以0填充
  12. test.count(self, sub, start=None, end=None)              |计算字符串中含有多少个括号中的字符
    如: a ="alexalexr"    则a.count(e)为2;a.count(ex)为2
           
    >>> test= "alexalexr"
    >>> v = test.count("ex", 5, 6)  #表示从索引号5开始找有几个ex,到索引号6结束
    >>> print(v)
    1
  13. test.endswith( )        | 判断字符串是否以括号里的参数结尾
  14. test.startswith( )       | 判断字符串是否以括号里的参数开头
  15. test.find( self, sub, start=None, end=None )               |查找要找的目标子串在哪个索引号的位置
    >>> test = "alexalexr"
    >>> v= test.find( "ex", 5, 8)   #从索引号5开始找ex,8结束(不包含8)
    >>> print(v)
    6
  16. test.format( )           | 格式化,将一个字符串的占位符替换为指定值
    >>> test= "i am {name}, age{n}"
    >>> v= test.format( name = "alex", age = 19)   #或v = test.format("alex", 19)
    >>> print(v)
    i am alex, age 19
  17. test.format_map( )    |格式化,传入的值只能是字典类型
    <<< test ="i am {name}, age{a} "
    <<< v = test.format_map({name:"alex", age: "19"})
    <<< print(v)
    i am alex, age 19
  18. test.isalnum( )           |判断字符串中是否指出现数字和字母
  19. test.expandtabs( )     |表示创建括号中数字个数的空格位,字符没满时自动用空格补全
    >>> test = "username\temail\tpassword\n
                        laiying\tying@qq.com\t123"
    >>> v = test.expandtabs(20)
    >>> print(v)
    username            email               password
    laiying             ying@qq.com         123
  20. test.isalpha( )             |判断字符串中是否只涵字母(包括汉字)
  21. test.isdecimal( )          |判断字符串是否是数字
  22. test.isdigit( )               |判断字符串是否都是数字(包含特殊符号,不支持中文,识别范围比decimal更广)
  23. test.isnumeric( )          |判断字符串是否都是数字(支持特殊符号和中文)
  24. test.isidentifier( )         |判断是否位标识符(字母、数字、下划线)
  25. test.isprintable( )         |是否存在页面上不可显示的字符(如制表符\n, \t, 若有的话会报False)
  26. test.isspace( )             |判断是否全部是空格,即空字符串
  27. test.istitle( )                |判断字符串中的每一个单词是否全都首字母大写
  28. test.title( )                  |把字符串转换为每个单词都首字母大写
  29. test.join( )                  |将字符串的每一个元素之间按指定分隔符进行拼接
    >>> test = "01234"
    >>> t = "_"
    >>> v = t.join("test")
    >>> print(v)
    0_1_2_3_4
  30. test.strip( )              |去除字符串左右两边的空白(\n和\t),并且去掉()中指定的字符,按照优先最多匹配。
  31. test.lstrip( )             |从左向右优先匹配
  32. test.rstrip( )             |从右向左优先匹配
    >>> test = "xaexlex"
    >>> v = test.rstrip("9lexxexa")
    >>> print(v)
    
    结果为空,即全都删掉了,因为是从右向左先删除lex,然后ex,然后xa,按照能多匹配就多匹配的原则
  33. test.maketrans( )和test.translate( )
    >>> test="asidufkask, fiuadkf, adfkiskd"
    >>> m = test.maketrans("aeiou", 12345)
    >>> new_test = test.translate(m)  #把字符串中所有的aeiou全部分别转换为12345
    >>> print(new_test)
    1s3d5fk1sk, f351dkf, adfk3skd
  34. test.partition( )        |分割字符串,partition只能分割成3份,从左向右找括号中的指定字符进行分割,并且能拿到该指定字符
    test.rpartitions( )      |从右往左分割字符串,其他同上
    >>> test = "testasdsddfg"
    >>> v1 = test.partition("s")  #从左向右找s分割为3份,s也能拿到
    >>> v2 = test.rpartition("s")  #从右向左找s分割为3份,s也能拿到
    >>> print(v1, v2)
    (('te','s','tasdsddfg'),('testasd','s','ddfg'))
  35.  test.split(self, sep, maxsplit)      |从左往右分割字符串,可以自定义分割次数,但是拿不到括号中指定的字符
     test.rsplit(self, sep, maxsplit)      |从右往左分割字符串,其他同上

    >>> test = "testasdsddfg"
    >>> v1 = test.split('s', 2)  #从左往右分割2次,也就是3份,s拿不到
    >>> v2 = test.rsplit('s', 3)   #从右往左分割3次,也就是4份,s拿不到
    >>> print(v1, v2)
    (['te', 'ta', 'dsddfg'], ['te', 'ta', 'd', 'ddfg'])
  36. test.splitlines( )                |只能根据\n换行符分割,( )中默认为False,指不保留 \n,( )中为True时,保留\n
    >>> test = "tes\ntasd\nsd\ndfg"
    >>> v = test.splitlines(True)
    >>> print(v)
    ['tes\n', 'tasd\n', 'sd\n', 'dfg']
  37. test.replace( )               |在字符串中查找目标字符串,替换成新字符串,并且能自定义替换的个数
    >>> test = "alexalexalex"
    >>> v = test.replace('ex','bbb',2)  #找出字符串ex,用新的字符串bbb来替换它,并且只替换前2个,最后一个数字不写的时候默认为全部都替换
    >>> print (v)
    albbbalbbbalex
  38. range( )                       |创建连续的数字,并可以指定步长
    >>> v = range(0,30,5)  #从0开始,30结束,步长为5
    >>> for item in v:
    >>>          print (item)
    0
    5
    10
    15
    20
    25
    >>> v = range(10)
    >>> print(v)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  39. 切片
    >>> test = "alex"
    >>> v = test[0:1]    #取到的是索引号0-1对应的字符,包含0不包含1,前闭后开
    >>> print(v)
    a
  40. 字符串一旦在内存中创建就不可修改,对其进行修改或者拼接都会重新生成新的字符串,所有语言中都如此。
  41. len(list)            |len用来测列表的长度时,表示的是列表中元素的个数。

posted on 2018-12-04 00:12  EleanorYe  阅读(143)  评论(0编辑  收藏  举报