Python str方法总结

1.返回第一个字母大写

   S.capitalize(…)

      S.capitalize() -> string

1 2 3 4 >>>a = 'shaw' >>> b = a.capitalize() >>> print b Shaw

2.按指定长度填充特定字符

    center(…)

      S.center(width[, fillchar]) -> string

1 2 3 4 5 6 7 >>> a = 'linux' >>> print a.center( 7 , 'h' ) hlinuxh >>> print a.center( 8 , 'h' ) hlinuxhh >>> print a.center( 9 , 'h' ) hhlinuxhh

3.查找某字符串出现的次数

    count(…)

      S.count(sub[, start[, end]]) -> int

1 2 3 4 5 6 7 8 9 >>> a = "this is my dog, i love this dog and it's a good dog!" >>> print a.count( 'dog' ) 3 >>> print a.count( 'dog' , 15 ) 2 >>> print a.count( 'dog' , 15 , 30 ) 0 >>> print a.count( 'dog' , 15 , 32 ) 1

4.以指定的编码格式解码字符串。默认编码为字符串编码(适合python2中处理中文)

    decode(…)

      S.decode([encoding[,errors]]) ->object

1 2 3 b = 'strid' >>> b.decode( 'utf-8' ) u 'strid'

5.用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数“start”“end”为检索字符串的开始与结束位置

    endswith(…)

    S.endswith(suffix[,start[, end]]) ->bool

1 2 3 4 5 6 7 >>> shaw = 'I am shaw,what\'s your name ?' >>> shaw.endswith( '?' ) True >>> shaw.endswith( 'w' , 7 , 9 ) True >>> shaw.endswith( 'w' , 7 , 8 ) False

6.把字符串中的 tab 符号(‘\t’)转为空格,tab 符号(‘\t’)默认的空格数是8tabsize — 指定转换字符串中的 tab 符号(‘\t’)转为空格的字符数。

    expandtabs(…)

    S.expandtabs([tabsize])-> string

1 2 3 4 5 6 7 >>> info = 'today is a good d\tay' >>> print info.expandtabs() today is a good d       ay >>> print info.expandtabs( 4 )   # 把tab装换成4个空格 today is a good d   ay         >>> printinfo.expandtabs( 1 ) today is a good d ay          # 把tab装换成1个空格

7.检测字符串中是否包含子字符串 str ,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串,则返回开始的索引值,否则返回-1

    find(…)

    S.find(sub [,start [,end]])-> int

1 2 3 4 5 6 7 >>> a = 'stivenwang' >>> a.find( 'w' ) 6 >>> a.find( 'w' , 9 ) - 1 >>> a.find( 'w' , 9 , 11 ) - 1

8.格式换字符串输出(方法与%相似,但可以指定顺序)

    format(…)

    S.format(*args, **kwargs)-> string

1 2 3 4 5 6 7 8 >>> name = 'StivenWang' >>> fruit = 'apple' >>> print 'my name is {},I like {}' . format (name,fruit) my name is StivenWang,I like apple >>> print 'my name is {1},I like {0}' . format (fruit,name) my name is StivenWang,I like apple >>> print 'my name is {mingzi},I like{shuiguo}' . format (shuiguo = fruit,mingzi = name) my name is StivenWang,I like apple

9.检测字符串string中是否包含子字符串 str ,如果存在,则返回strstring中的索引值,如果指定beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常(ValueError: substring not found)

   index(…)

    S.index(sub [,start [,end]])-> int

1 2 3 4 5 6 7 8 >>> str1 = "this is string example....wow!!!" >>> str2 = "exam" >>> print str1.index(str2) 15 >>> print str1.index(str2, 20 ) Traceback (most recent call last):    File "<input>" ,line 1 , in <module> ValueError: substringnot found报错

10.检测字符串是否由字母或数字组成。

    isalnum(…)

    S.isalnum() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 >>> a = '123' >>> a.isalnum() True >>> b = 'shaw' >>> b.isalnum() True >>> c = 'shaw123' >>> c.isalnum() True >>> d = 'th 123' >>> d.isalnum() False

11.检测字符串是否只由字母组成

    isalpha(…)

    S.isalpha() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 >> a = '123' >>> a.isalpha() False >>> b = '123shaw' >>> b.isalpha() False >>> c = 'shaw' >>> c.isalpha() True >>> d = 'sha w' >>> d.isalpha() False

12.检测字符串是否只由数字组成。

    isdigit(…)

    S.isdigit() -> bool

1 2 3 4 5 6 7 8 9 >>> a = '123' >>> a.isdigit() True >>> b = 'shaw' >>> b.isdigit() False >>> c = '123shaw' >>> c.isdigit() False

13.检测字符串是否由小写字母组成。

    islower(…)

    S.islower() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 >>> a = 'shaw' >>> a.islower() True >>> b = '123' >>> a.islower() True >>> c = '123shaw' >>> c.islower() True >>> d = 'SHAW' >>> d.islower() False >>> e = '123SHAW' >>> e.islower() False

14.检测字符串是否只由空格组成。

    isspace(…)

    S.isspace() -> bool

1 2 3 4 5 6 7 8 9 >>> a = ' ' >>> a.isspace() True >>> a = '123' >>> a.isspace() False >>> a = 'shaw' >>> a.isspace() False

15.检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

    istitle(…) 

    S.istitle() -> bool

1 2 3 4 5 6 7 8 9 >>> a = 'Shaw' >>> a.istitle() True >>> a = 'Shaw123' >>> a.istitle() True >>> a = '123' >>> a.istitle() False

16.检测字符串中所有的字母是否都为大写

    isupper(…)

      S.isupper() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 >>> a = '123' >>> a.isupper() False >>> a = 'Shaw' >>> a.isupper() False >>> a = 'Shaw123' >>> a.isupper() False >>> a = 'SHAW123' >>> a.isupper() True

17.用于将序列中的元素以指定的字符连接生成一个新的字符串。

join(…)

    S.join(iterable) ->string

1 2 3 4 >>> a = '-' >>> b = 'shaw' >>> print a.join(b) s - h - a - w

18.返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

    ljust(…)

    S.ljust(width[, fillchar])-> string

    width — 指定字符串长度

    fillchar — 填充字符,默认为空格

1 2 3 4 5 >>> s = 'shaw' >>> s.ljust( 10 ) 'shaw      ' >>> s.ljust( 10 , '8' ) 'shaw888888'

19.转换字符串中所有大写字符为小写。

    Lower(…)

    S.lower() -> string

1 2 3 4 5 6 >>> s = 'PYTHON' >>> s.lower() 'python' >>> s = 'PYTHON123' >>> s.lower() 'python123'

20.用于截掉字符串左边的空格或指定字符。

    lstrip(…)

    S.lstrip([chars]) ->string or unicode

1 2 3 4 5 6 >>> s = '%%%shaw' >>> s.lstrip( '%' ) 'shaw' >>> s = '   shaw' >>> s.lstrip() 'shaw'

21.根据指定的分隔符将字符串进行分割(返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串)

    partition(…)

    S.partition(sep) ->(head, sep, tail)

1 2 3 >>> S = 'are you know:lilin is lowser' >>> S.partition( 'lilin' ) ( 'are you know:' , 'lilin' , ' is lowser' )

22.把字符串中的 old(旧字符串)替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

    replace(…)

    S.replace(old, new[,count]) -> string

1 2 3 >>> S = 'shaw' >>> S.replace( 'sh' , 'LI' ) 'LIaw'

23.返回字符串最后一次出现的位置,如果没有匹配项则返回-1

    rfind(…)

    S.rfind(sub [,start[,end]]) -> int

    str — 查找的字符串

    beg — 开始查找的位置,默认为0

    end — 结束查找位置,默认为字符串的长度。

1 2 3 4 5 >>> s = 'lilin is good li lao ban' >>> s.rfind( 'li' ) 14 >>> s.rfind( 'li' , 0 , 8 ) 2

24.返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。

    rindex(…)

    S.rindex(sub [,start[,end]]) -> int

    语法:

      str.rindex(str,beg=0 end=len(string))

1 2 3 4 5 6 7 8 9 >>> s = 'my name is shaw' >>> s.rindex( 's' ) 11 >>> s.rindex( 's' , 5 , 10 ) 9 >>> s.rindex( 's' , 2 , 8 ) Traceback (most recent call last):    File "<input>" ,line 1 , in <module> ValueError: substring not found

25.返回的原/新字符串右对齐,且默认使用空格填充至指定长度(width)的新字符串。如果指定的长度(width)小于原字符串的长度则返回原字符串

    rjust(…)

    S.rjust(width[, fillchar])-> string

    语法:

      str.rjust(width[,fillchar])

       width — 指定填充指定字符后新字符串的总长度.

       fillchar– 要填充的字符,默认为空格。

1 2 3 4 5 6 7 >>> s = 'sch' >>> s.rjust( 20 ) '                 sch' >>> s.rjust( 20 , '0' ) '00000000000000000sch' >>> s.rjust( 20 , 'H' ) 'HHHHHHHHHHHHHHHHHsch'

26.删除 string 字符串末尾的指定字符(默认为空格).

    rstrip(…)

    S.rstrip([chars]) ->string or unicode

    语法:

      str.rstrip([chars])

1 2 3 >>> s = 'shaw\n' >>> s.rstrip( '\n' ) 'shaw'

27.通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔 num 个子字符串

    split(…)

    S.split([sep [,maxsplit]])-> list ofstrings

    语法:

   str.split(str=””,num=string.count(str)).

1 2 3 4 5 >>> s = 'shaw\nlinux\nmac' >>> s.split( '\n' ) [ 'shaw' , 'linux' , 'mac' ] >>> s.split( '\n' , 1 ) [ 'shaw' , 'linux\nmac' ]

28.按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.

    splitlines(…)

    S.splitlines(keepends=False)-> list ofstrings

    语法:

      str.splitlines( num=string.count(‘\n’))

       num — 分割行的次数。

1 2 3 4 5 6 >>> s = 'what\'s your name?\n my name is shaw\n how old areyou?' >>> s.splitlines() [ "what's your name?" , ' my name is shaw ', ' how old areyou?'] >>> s.splitlines( 1 ) [ "what's your name?\n" , ' my name is shaw\n ', ' how old areyou?'] >>> s.splitlines( 3 )

29.用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg  end指定值,则在指定范围内检查。

    startswith(…)

    S.startswith(prefix[,start[, end]]) ->bool

    语法:

    str.startswith(str,beg=0,end=len(string))

    str — 检测的字符串。

    strbeg — 可选参数用于设置字符串检测的起始位置。

    strend — 可选参数用于设置字符串检测的结束位置。

1 2 3 4 5 >>> s = 'my name is shaw' >>> s.startswith( 'my' ) True >>> s.startswith( 'my' , 10 , 15 ) False

30.用于移除字符串头尾指定的字符(默认为空格)。

    strip(…)

    S.strip([chars]) ->string or unicode

1 2 3 >>> s = 'my name is sam' >>> s.strip( 'm' ) 'y name is sa'

31.用于对字符串的大小写字母进行转换(小写转大写,大写转小写)

    swapcase(…)

    S.swapcase() -> string

1 2 3 4 5 6 >>> s = 'stiven' >>> s.swapcase() 'STIVEN' >>> s = 'SHAW' >>> s.swapcase() 'shaw'

32.返回标题化的字符串,就是说所有单词都是以大写开始,其余字母均为小写。

    title(…)

    S.title() -> string

1 2 3 >>> s = 'my name is shaw' >>> s.title() 'My Name Is Shaw'

33.根据参数table给出的表(包含 256 个字符)转换字符串的字符, 并返回翻译后的字符串要过滤掉的字符放到del 参数中

    translate(…)

    S.translate(table [,deletechars])->string

    语法:

      str.translate(table[, deletechars])

       table — 翻译表,翻译表是通过maketrans方法转换而来。

      deletechars — 字符串中要过滤的字符列表。

1 2 3 4 5 6 7 8 9 >>> from string import maketrans suchas = maketrans( 'sm' , '@$' ) >>> s = 'this is sam\'s dog' >>> s "this is sam's dog" >>> s.translate(suchas) "thi@ i@ @a$'@ dog" >>> s.translate(suchas, 'dog' ) 去除d,o,g字符 "thi@ i@ @a$'@ "

34.将字符串中的小写字母转为大写字母

    upper(…)

    S.upper() -> string

1 2 3 4 5 6 7 8 9 >>> s = 'sam' >>> s.upper() 'SAM' >>> s = '23sam' >>> s.upper() '23SAM' >>> s = '23s am' >>> s.upper() '23S AM'
    原文作者:opsedu
    原文地址: http://www.cnblogs.com/opsedu/p/5501157.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞