zoukankan      html  css  js  c++  java
  • python3 字符串基础

    1、len()

      计算字符串长度。

    a = "i like you"
    print(len(a))

      打印输出结果:10

    2、capitalize()

      首字母大写。

    a = "i like you"
    print(a.capitalize())

      打印输出结果:

    I like you

    3、count()

      统计字符串中某个字符的个数。

    a = "i like you"
    print(a.count("i"))

      打印输出结果:2

    4、center()

      将字符串放中间,两边填充(默认为空格)。

    a = "i like you"
    b = a.center(50)
    print(b)
    b = a.center(50,"*")
    print(b)

      打印输出结果:

                        i like you                    
    ********************i like you********************

    5、endswith("xx")

      判断字符串是否以"xx"结尾。

    a = "i like you"
    print(a.endswith("you"))
    print(a.endswith("yo"))

      打印输出结果:

    True
    False

    6、expandtabs()

      把字符串中的 tab 符号(' ')转为空格,tab 符号(' ')默认的空格数是 8。

    a = "i 	like you"
    print(a)
    print(a.expandtabs())
    print(a.expandtabs(tabsize=16))

      打印输出结果:

    i     like you
    i       like you
    i               like you
    st = "this is	string example....wow!!!";
    
    
    print(st)
    print(st.expandtabs(8))
    print(st.expandtabs(16))

      打印输出结果:

    this is    string example....wow!!!
    this is string example....wow!!!
    this is         string example....wow!!!
    st = "this is	string example....wow!!!";
    
    
    print("123"+st)
    print("123"+st.expandtabs(8))
    print("123"+st.expandtabs(16))

      打印输出结果:

    123this is    string example....wow!!!
    123this is string example....wow!!!
    123this is         string example....wow!!!

    7、find('xx')

      找到''xx"相对字符串首字母的偏移位置。

    a = "i like you"
    offset = a.find("like")
    print(offset)
    print(a[offset:])
    print(a[:offset])

      打印输出结果:

    2
    like you
    i 

    8、format()

      格式化字符串。

    a = "my name is {name} and i am {year} old"
    b = a.format(name="jack",year=20)
    print(a)
    print(b)

      打印输出结果:

    my name is {name} and i am {year} old
    my name is jack and i am 20 old

    9、 format_map()

      格式化字符串。

    a = "my name is {name} and i am {year} old"
    b = a.format_map({'name':'jack', 'year':25})
    print(b)

      打印输出结果:

    my name is jack and i am 25 old

    10、 isalnum()

      字符串是否是字母与数字。

      如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。

    a = "abc123"
    b = "***abc123"
    c =" "
    print(a.isalnum())
    print(b.isalnum())
    print(c.isalnum())

      打印输出结果:

    True
    False
    False

    11、isalpha()

      判断字符串是否之由字母组成。

    a = "hello"
    b = "abc123"
    c = "***abc123"
    print(a.isalpha())
    print(b.isalpha())
    print(c.isalpha())

      打印输出结果:

    True
    False
    False

    12、isdigit()

      是否是数字。

    a = "123"
    b = "hello"
    print(a.isdigit())
    print(b.isdigit())

      打印输出结果:

    True
    False

    13、isdecimal()

      检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。

    a = "this2009"
    b = "2018"
    c = "你好"
    d = "你好".encode("utf-8")
    e = str(123)
    print(a.isdecimal())
    print(b.isdecimal())
    print(c.isdecimal())
    print(e.isdecimal())
    print(d.isdecimal())

      打印输出结果:

    False
    True
    False
    True
    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-21-f99a056296e2> in <module>()
          8 print(c.isdecimal())
          9 print(e.isdecimal())
    ---> 10 print(d.isdecimal())
    
    AttributeError: 'bytes' object has no attribute 'isdecimal'

    14、isidentifier()

      判断是不是一个合法的标识符。

      标识符必须以字母(大小写均可)或者"_"开头,接下来可以重复0到多次(字母|数字|"_")。

    class API(object):
        def get(self):
            print("get")
        def post(self):
            print("post")
    
    api = API()
    
    attr_list = ["name", "123", "!!!","__set__","_delete","test_123"]
    for attr in attr_list:
        if attr.isidentifier():
            setattr(api, attr, True)
    print(api.__dict__)

      打印输出结果:

    {'name': True, '__set__': True, '_delete': True, 'test_123': True}

    15、isnumeric()

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

      这种方法是只针对unicode对象。定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可。

    a = "hello2019"
    b = "123456"
    c = "0x12A"
    d = "33A"
    print(a.isnumeric())
    print(b.isnumeric())
    print(c.isnumeric())
    print(d.isnumeric())

      打印输出结果:

    False
    True
    False
    False

    16、istitle()

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

    a = "i like you"
    b = "I Iike You!!"
    print(a.istitle())
    print(b.istitle())

      打印输出结果:

    False
    True

    17、isupper()

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

    a = "HELLO"
    b = "Ok"
    print(a.isupper())
    print(b.isupper())

      打印输出结果:

    True
    False

    18、join()

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

    word_list =["I", 'like', 'you', '!','!']
    title1 = " ".join(word_list)
    title2 = "_".join(word_list)
    print(title1)
    print(title2)

      打印输出结果:

    I like you ! !
    I_like_you_!_!

    19、ljust()

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

    title = "My name is Jack,I'm 25 years old!"
    new_title_1 = title.ljust(40,"*")
    new_title_2 = title.ljust(20,"*")
    print(title)
    print(new_title_1)
    print(new_title_2)

      打印输出结果:

    My name is Jack,I'm 25 years old!
    My name is Jack,I'm 25 years old!*******
    My name is Jack,I'm 25 years old!

    20、rjust()

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

    title = "My name is Jack,I'm 25 years old!"
    new_title_1 = title.rjust(40,"*")
    new_title_2 = title.rjust(20,"*")
    print(title)
    print(new_title_1)
    print(new_title_2)

      打印输出结果:

    My name is Jack,I'm 25 years old!
    *******My name is Jack,I'm 25 years old!
    My name is Jack,I'm 25 years old!

    21、lower()

      将字符串转换成小写。

    a = "HELLO"
    b = "Ok"
    print(a.lower())
    print(b.lower())

      打印输出结果:

    hello
    ok

    22、upper()

      将字符串转换成大写。

    a ="Hello"
    b = "ok"
    print(a.upper())
    print(b.upper())

      打印输出结果:

    HELLO
    OK

    23、lstrip()

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

    url = "https   ://www.cnblogs.com/yangxueyou/articles/8372629.html"
    res = url.lstrip("https")
    ret = res.lstrip()
    print(res)
    print(ret)

      打印输出结果:

       ://www.cnblogs.com/yangxueyou/articles/8372629.html
    ://www.cnblogs.com/yangxueyou/articles/8372629.html
    print( '
    Alex'.lstrip()  )

      打印输出结果:

    Alex

    24、rstrip()

      用于截掉字符串右边的空格或指定字符。

    url = "https://www.cnblogs.com/yangxueyou/articles/8372629.html?a=1&b=2"
    print(url.rstrip("b=2"))

      打印输出结果:

    https://www.cnblogs.com/yangxueyou/articles/8372629.html?a=1&

      

    print( 'Alex
    '.rstrip()  )

      打印输出结果:

    Alex

    25、strip()

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

      该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

    print( '    Alex
    '.strip()  )

      打印输出结果:

    Alex

    26、maketrans()

      创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。两个字符串的长度必须相同,为一一对应的关系。

    intab = "aeiou"
    outtab = "12345"
    trantab = str.maketrans(intab, outtab)
    
    title = "this is string example....wow!!!"
    print(title.translate(trantab))

      打印输出结果:

    th3s 3s str3ng 2x1mpl2....w4w!!!

    27、replace()

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

    a = "I like you,do you like me?"
    b = a.replace('like', 'love', 1)
    c = a.replace('like', 'love', 2)
    print(b)
    print(c)

      打印输出结果:

    I love you,do you like me?
    I love you,do you love me?

    28、rfind()

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

    a = "I like you,do you like me?"
    print(a.rfind('me'))

      打印输出结果:23

    29、split()

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

    print('1+2+3+4'.split('+'))
    print('1+2+3+4+5'.split('+',2))
    print('1+2+3+4+5'.split('+',3))

      打印输出结果:

    ['1', '2', '3', '4']
    ['1', '2', '3+4+5']
    ['1', '2', '3', '4+5']

    30、splitlines(keepends)

      按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

    print('1+2
    +3+4'.splitlines())
    print('1+2
    +3+4'.splitlines(True))
    print('1+
    2
    +3+
    4'.splitlines())

      打印输出结果:

    ['1+2', '+3+4']
    ['1+2
    ', '+3+4']
    ['1+', '2', '+3+', '4']

    31、swapcase()

      用于对字符串的大小写字母进行转换。

    a = "I like you!"
    b = a.swapcase()
    print(a)
    print(b)

      打印输出结果:

    I like you!
    i LIKE YOU!

    32、title()

      返回"标题化"的字符串,所有单词的首个字母转化为大写,其余字母均为小写。

    a = "I like you!"
    b = a.title()
    print(b)

      打印输出结果:

    I Like You!

    33、 zfill()

      指定长度的字符串,原字符串右对齐,前面填充0。

    money = "2050"
    money = money.zfill(8)
    print(money)

      打印输出结果:

    00002050
  • 相关阅读:
    streamsets 集成 cratedb 测试
    streamsets k8s 部署试用
    streamsets rest api 转换 graphql
    StreamSets sdc rpc 测试
    StreamSets 相关文章
    StreamSets 多线程 Pipelines
    StreamSets SDC RPC Pipelines说明
    StreamSets 管理 SDC Edge上的pipeline
    StreamSets 部署 Pipelines 到 SDC Edge
    StreamSets 设计Edge pipeline
  • 原文地址:https://www.cnblogs.com/bad-robot/p/9679023.html
Copyright © 2011-2022 走看看