zoukankan      html  css  js  c++  java
  • python字符串

    一.字符串类型

    str和bytes类型

    >>> a = 'fdsj'
    >>> type(a)
    <class 'str'>
    >>> type(a.encode('utf-8'))     ###服务器传输的时候才会使用到bytes类型
    <class 'bytes'>

    二.换行和转义

    三.字符串运算

    下表实例变量a值为字符串"Hello",b变量值为"Python":

    四.格式化

    五.常用的字符串操作

    1.strip函数:

    该函数可以将字符串的左右两边的空格、 等空白内容或指定字符串去除,并返回处理后的结果,但原字符串并未被改变。

    不带参数的strip()函数,表示把S中前后所有的空白字符全部去掉,包括’ ’ , ‘ ’ , ‘ ’ , ’ ’ 等不可见字符串,可以理解为把S前后空白

    字符串替换为None;带参数的strip()函数表示将S前后指定字符串chars去掉。

    用法:s.strip([chars])

    实例一:

    >>> s = ' boy boy boy '
    >>> s
    ' boy boy boy '
    >>> s.strip()
    'boy boy boy'


    实例二:

    >>> s = ' boy boy boy '
    >>> s
    ' boy boy boy '
    >>> s.strip()
    'boy boy boy'

    实例三:

    >>> s= '*boy boy boy **'
    >>> s
    '*boy boy boy **'

    >>> s.strip('*')
    'boy boy boy '

    2.lstrip()函数:可以将字符串的左边空格 等空白内容去除

    实例:

    >>> s= '*boy boy boy **'
    >>> s
    '*boy boy boy **'

    >>> s.lstrip('*')
    'boy boy boy **'

    rstrip()函数:可以将字符串的左边空格 等空白内容去除

    实例:

    >>> s= '*boy boy boy **'
    >>> s
    '*boy boy boy **'
    >>> s.rstrip('*')
    '*boy boy boy

    3.大小写互换

    S.lower()函数:将字符串转换为小写

    >>> 'S'.lower()
    's'

    S.upper()函数:将字符串转化为大写

    >>> 'boY'.upper()
    'BOY'

    S.swapcase()函数:将字符串的大小写互换

    >>> 'I am'.swapcase()
    'i AM'

    S.capitalize()函数:将字符串的首个字母转换成大写

    >>> 'abc'.capitalize()
    'Abc'

    S.title() 函数:将字符串的每个单词首字母大写  ##跟string模块的capwords()函数功能类似

     >>> 'i am a man'.title()

    'I Am A Man'

    >>> import string

    >>> s = 'i am a man'

    >>> string.capwords(s)
    'I Am A Man'

    练习:

    将所有的字符串内容中的字母均替换为大写

    def upper(s):
        if  not isinstance(s,str):
            return s
        result = ''
        for i in s:
            if (i >='a' and i<= 'z'):
                result += chr(ord(i)-32)
            else:
                result += i
        return result
    print(upper('我么abcABC&^#'))
    结果为:我么ABCABC&^#

    将所有的字符串内容中的字母均替换为小写

    def lower(s):
        if  not isinstance(s,str):
            return s
        result = ''
        for i in s:
            if (i >='A' and i<= 'Z'):
                result += chr(ord(i)+32)
            else:
                result += i
        return result
    print(lower('我么SNLKJDabcABC'))
    结果:我么snlkjdabcabc
    View Code

    4.字符串对齐

    S.ljust()函数:S.ljust(width,[fillchar])#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空

    >>> '123'.ljust(10,'*')
    '123*******'

    ###默认不写第二个参数,则使用空格填充

    >>> '123'.ljust(10)
    '123 '

    ###如果没有空余的位置,则没有填充字符

    >>> '123'.ljust(3,"*")
    '123'

    S.rjust()函数:S.rjust(width,[fillchar]) #右对齐

    >>> '123'.rjust(10,'*')
    '*******123'

    S.center()函数:S.center(width, [fillchar]) #中间对齐

    >>> '123'.center(9,'&')
    '&&&123&&&'

    ##先后面在前面

    >>> '123'.center(10,'&')
    '&&&123&&&&'

    S.zifll()填充:S.zfill(width) #把S变成width长,并在右对齐,不足部分用0补足

    >>> 'abc'.zfill(6)
    '000abc'

    5.字符串搜索

    s.find()函数:可在指定字符串范围内查找子字符串出现的位S.find(substr, [start, [end]])#返回S中出现substr的第一个字母的标号

    >>> 'i am a man'.find('a')
    2
    >>> 'i am a man'.find('a',3)
    5

    start和end作用就相当于在S[start:end]中

    >>> 'i am a man'.find('a',5,7)
    5

    如果S中没-1

    >>> 'i am a man'.find('a',6,7)
    -1

    s.index()函数:可在指定字符串范围内查找子字符串出现的位置,找不到则返回错S.index(substr, [start, [end]])#与find()相同,只是在S中没有substr时,会返回一个运行时错误

    >>> 'i am a boy'.index('a')
    2
    >>> 'i am a boy'.index('a',3)
    5
    >>> 'i am a boy'.index('a',6,7)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: substring not found

    s.rfind()函数:可在指定字符串范围内查找子字符串出现的位置S.rfind(substr, [start, [end]])
    #返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算
    起的第一次出现的substr的首字母标号

    >>> 'i am a boy'.rfind('a')
    5
    >>> 'i am a boy'.rfind('a',3)
    5
    >>> 'i am a boy'.rfind('a',1,3)
    2
    >>> 'i am a boy'.rfind('a',6,7)
    -1

    S.rindex()函数:可在右侧指定字符串范围内查找子字符串出现的位置,找不到则报错。
    S.rindex(substr, [start, [end]])#找不到则会报错误

    >>> 'i am a boy'.rindex('a')
    5
    >>> 'i am a boy'.rindex('a',1,3)
    2
    >>> 'i am a boy'.rindex('a',1,2)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: substring not found

    练习:

  • 相关阅读:
    BZOJ 1568: [JSOI2008]Blue Mary开公司
    BZOJ 3165: [Heoi2013]Segment
    BZOJ 2733: [HNOI2012]永无乡
    BZOJ 4631: 踩气球
    BZOJ 4530: [Bjoi2014]大融合
    BZOJ 4919: [Lydsy1706月赛]大根堆
    BZOJ 5442: [Ceoi2018]Global warming
    BZOJ 4027: [HEOI2015]兔子与樱花
    BZOJ 5441: [Ceoi2018]Cloud computing
    php的抓取
  • 原文地址:https://www.cnblogs.com/yyht-xgy/p/10392470.html
Copyright © 2011-2022 走看看