Python字符串

如下学习python的字符串用法。

print(dir(str))

[‘__add__’, ‘__class__’, ‘__contains__’, ‘__delattr__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__getattribute__’, ‘__getitem__’, ‘__getnewargs__’, ‘__gt__’, ‘__hash__’, ‘__init__’, ‘__iter__’, ‘__le__’, ‘__len__’, ‘__lt__’, ‘__mod__’, ‘__mul__’, ‘__ne__’, ‘__new__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__rmod__’, ‘__rmul__’, ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’, ‘capitalize’, ‘casefold’, ‘center’, ‘count’, ‘encode’, ‘endswith’, ‘expandtabs’, ‘find’, ‘format’, ‘format_map’, ‘index’, ‘isalnum’, ‘isalpha’, ‘isdecimal’, ‘isdigit’, ‘isidentifier’, ‘islower’, ‘isnumeric’, ‘isprintable’, ‘isspace’, ‘istitle’, ‘isupper’, ‘join’, ‘ljust’, ‘lower’, ‘lstrip’, ‘maketrans’, ‘partition’, ‘replace’, ‘rfind’, ‘rindex’, ‘rjust’, ‘rpartition’, ‘rsplit’, ‘rstrip’, ‘split’, ‘splitlines’, ‘startswith’, ‘strip’, ‘swapcase’, ‘title’, ‘translate’, ‘upper’, ‘zfill’]

如上是字符串的所有方法,一个一个看,共44个

 

立即学习“Python免费学习笔记(深入)”;

1.返回第一个字母大写

   capitalize(…)

      capitalize() -> string

>>>a = 'hello world'>>> b = a.capitalize()>>> print (b)Hello world

登录后复制

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

    center(…)

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

>>> 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

>>> 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

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

登录后复制

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

    endswith(…)

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

>>> 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 符号(”)转为空格,tab 符号(”)默认的空格数是8,tabsize — 指定转换字符串中的 tab 符号(”)转为空格的字符数。

    expandtabs(…)

    S.expandtabs([tabsize])-> string

>>> info = 'today is a good day'>>> 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

>>> a = 'stivenwang'>>> a.find('w')6>>> a.find('w',9)-1>>> a.find('w',9,11)-1

登录后复制

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

    format(…)

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

>>> 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 ,如果存在,则返回str在string中的索引值,如果指定beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常(ValueError: substring not found)。

   index(…)

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

>>> str1 = "this is string example....wow!!!">>> str2 = "exam">>> print str1.index(str2)15>>> print str1.index(str2,20)Traceback (most recent call last):  File "",line 1, in ValueError: substringnot found报错

登录后复制

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

    isalnum(…)

    S.isalnum() -> bool

>>> 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

>> 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

>>> a = '123'>>> a.isdigit()True>>> b = 'shaw'>>> b.isdigit()False>>> c = '123shaw'>>> c.isdigit()False

登录后复制

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

    islower(…)

    S.islower() -> bool

>>> 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

>>> a = ' '>>> a.isspace()True>>> a = '123'>>> a.isspace()False>>> a = 'shaw'>>> a.isspace()False

登录后复制

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

    istitle(…) 

    S.istitle() -> bool

>>> a = 'Shaw'>>> a.istitle()True>>> a = 'Shaw123'>>> a.istitle()True>>> a = '123'>>> a.istitle()False

登录后复制

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

    isupper(…)

      S.isupper() -> bool

>>> 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

>>> a = '-'>>> b = 'shaw'>>> print a.join(b)s-h-a-w

登录后复制

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

    ljust(…)

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

    width — 指定字符串长度

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

>>> s = 'shaw'>>> s.ljust(10)'shaw      '>>> s.ljust(10,'8')'shaw888888'

登录后复制

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

    Lower(…)

    S.lower() -> string

>>> s = 'PYTHON'>>> s.lower()'python'>>> s = 'PYTHON123'>>> s.lower()'python123'

登录后复制

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

    lstrip(…)

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

>>> s = '%%%shaw'>>> s.lstrip('%')'shaw'>>> s = '   shaw'>>> s.lstrip()'shaw

登录后复制

123456    >>> s = ‘%%%shaw’>>> s.lstrip(‘%’)’shaw’>>> s = ‘   shaw’>>> s.lstrip()’shaw’    

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

    partition(…)

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

>>> 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

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

登录后复制

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

    rfind(…)

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

    str — 查找的字符串

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

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

>>> 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))

>>> 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 "",line 1, in ValueError: substring not found

登录后复制

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

    rjust(…)

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

    语法:

      str.rjust(width[,fillchar])

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

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

>>> 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])

>>> s = 'shaw'>>> s.rstrip('')'shaw'

登录后复制

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

    split(…)

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

    语法:

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

>>> s = 'shawlinuxmac'>>> s.split('')['shaw', 'linux', 'mac']>>> s.split('',1)['shaw', 'linuxmac']

登录后复制

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

    splitlines(…)

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

    语法:

      str.splitlines( num=string.count(”))

       num — 分割行的次数。

>>> s = 'what's your name? my name is shaw how old areyou?'>>> s.splitlines()["what's your name?", ' my name is shaw', ' how old areyou?']>>> s.splitlines(1)["what's your name?", ' my name is shaw', ' 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 — 可选参数用于设置字符串检测的结束位置。

>>> s = 'my name is shaw'>>> s.startswith('my')True>>> s.startswith('my',10,15)False

登录后复制

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

    strip(…)

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

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

登录后复制

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

    swapcase(…)

    S.swapcase() -> string

>>> s = 'stiven'>>> s.swapcase()'STIVEN'>>> s = 'SHAW'>>> s.swapcase()'shaw'

登录后复制

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

    title(…)

    S.title() -> string

>>> 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 — 字符串中要过滤的字符列表。

>>> from string import maketranssuchas = 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

>>> s = 'sam'>>> s.upper()'SAM'>>> s = '23sam'>>> s.upper()'23SAM'>>> s = '23s am'>>> s.upper()'23S AM'

登录后复制

作者:terry
blog:http://www.cnblogs.com/kkterry/
Weibo:http://weibo.com/kkterry
E-mail:doubleginger@163.com
欢迎转载,还请标明出处

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2283413.html

(0)
上一篇 2025年2月27日 20:08:12
下一篇 2025年2月23日 13:46:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python三级菜单

    menu = {    ‘北京’:{        ‘海淀’:{            ‘五道口’:{                ‘soho’:{},                ‘网易’:{},                ‘go…

    编程技术 2025年2月27日
    200
  • python杂记

    os模块说明:python os模块包含普遍的操作系统功能 os.access(path, mode) # 检验权限模式 os.chdir(path) # 改变当前工作目录os.chflags(path, flags) # 设置路径的标记为…

    编程技术 2025年2月27日
    200
  • 详解Python的装饰器

    python中的装饰器是你进入python大门的一道坎,不管你跨不跨过去它都在那里。 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数。 def say_hello():     print…

    编程技术 2025年2月27日
    200
  • Python模块:logging

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug、info、…

    2025年2月27日
    100
  • Python网络编程

    认识Socket socket通常也称作”套接字”,用于描述ip地址和端口,是一个通信链的句柄,应用程序通常通过”套接字”向网络发出请求或者应答网络请求。 socket起源于Unix,而Uni…

    2025年2月27日
    200
  • ROS多个master消息互通

    需求 有时候我们需要有几个不同的master, 他们之间要交换topic的内容,这时候就不能使用ros自带的设置同一个master的方法. 我们的处理方法是,构造一个client和一个server,他们运行在不同的master下面, cli…

    编程技术 2025年2月27日
    200
  • Windows版的各种Python库安装包下载地址与安装过程

    在用python开发时(windows环境),会碰到需要安装某个版本的第三方库,为了以后查找、安装方便,总结如下:   windows版的各种Python库安装包下载地址:http://www.lfd.uci.edu/~gohlke/pyt…

    2025年2月27日 编程技术
    200
  • Python内置函数id

    英文文档: id(object) Return the “identity” of an object. This is an integer which is guaranteed to be unique and constant fo…

    编程技术 2025年2月27日
    200
  • Python魔术方法-Magic Method

    绍   在python中,所有以“__”双下划线包起来的方法,都统称为“magic method”,例如类的初始化方法 __init__ ,python中所有的魔术方法均在官方文档中有相应描述,但是对于官方的描述比较混乱而且组织比较松散。很…

    2025年2月27日 编程技术
    200
  • Python中获取当前日期的格式

    在python里如何获取当前的日期和时间呢?在python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢? 当然你可以使用时间模块(time module),该模块提供了各种和时间相关的函数。但是这个模块里的一些函数在某…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论