美文网首页IT@程序员猿媛
class2-字符串操作

class2-字符串操作

作者: 凌航 | 来源:发表于2019-05-04 22:02 被阅读33次
    1. find:检查str是否包含在my_str或者规定的某个区间中,如果在,返回开始的索引值,否则返回-1。
      使用格式: find(self, sub, start=None, end=None)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    index1 = my_str.find('neuedu')
    print(index1)
    index2 = my_str.find('neuedu',0,10) # 左闭右开
    print(index2)
    

    执行结果:

    12
    -1

    1. index: 与find类似,区别在于未找到字符串时报错,而不是返回-1。
      使用格式: index(self, sub, start=None, end=None)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    index = my_str.index('neuedu')
    print(index)
    ndex1 = my_str.index('world',0,10)
    print(index1)
    

    执行结果:

    ValueError: substring not found

    1. count: 反回str在my_str中或其某个区建中出现的次数。
      使用格式:count(self, sub, start=None, end=None)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    count = my_str.count('neuedu')
    print(count)
    count = my_str.count('neuedu',0,20)
    print(count)
    name = 'hello world haha'
    new_name = name.replace('ha', 'Ha')
    print(new_name)
    

    执行结果:

    2
    1
    hello world HaHa

    1. replace: 用新字符串替换旧字符串中的某个子串。
      使用格式:replace(self, old, new, count=None)
      示例如下:
    name = 'hello world haha'
    new_name = name.replace('ha', 'Ha',1)
    print(new_name)
    price = '¥599'
    price = price.replace('¥', '')
    print(price)
    

    执行结果:

    hello world Haha
    599

    1. split:以str为分隔符分割name,如果maxsplit指定值,那么仅分割maxsplit个子串,以列表形式返回。
      使用格式:split(self, sep=None, maxsplit=-1)
      示例如下:
    name = 'hello world ha ha'
    name_list = name.split(" ")
    print(name_list)
    name_list1 = name.split(" ", 2)
    print(name_list1)
    

    执行结果:

    ['hello', 'world', 'ha', 'ha']
    ['hello', 'world', 'ha ha']

    1. join:通过指定字符连接序列中元素后生成的新字符串。
      使用格式:join(self, iterable)
      示例如下:
    str4 = ' '
    list1 = ['my','name','is','songxiaobao']
    my_name = str4.join(list1)
    print(my_name)
    my_name1 = '/'.join(list1)
    print(my_name1)
    

    执行结果:

    my name is songxiaobao
    my/name/is/songxiaobao

    1. strip,lstrip,rstrip:strip清除两端空白字符;lstrip、rstrip分别清除左边、右边空白字符。
      使用格式:strip(self, chars=None)
      lstrip(self, chars=None)

    示例如下:

    str = '   hello   '
    str1 = str.strip()
    print(str1)
    print(len(str1))
    str2 = str.lstrip()
    print(str2)
    print(len(str2))
    str3 = str.rstrip()
    print(str3)
    print(len(str3))
    

    执行结果:

    1. capitalize:将字符串的第一个字符大写。
      使用格式:capitalize(self)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    my_str2 = my_str.capitalize()
    print(my_str2)
    

    执行结果:

    Hello world neuedu and neueducpp

    1. title:把字符串每个单词首字符大写。
      使用格式:title(self)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    my_str3 = my_str.title()
    print(my_str3)
    

    执行结果:

    Hello World Neuedu And Neueducpp

    1. startwith,endwith:分别检测字符串是否以str开头或者结尾。
      使用格式:startswith(self, prefix, start=None, end=None)
      ndswith(self, suffix, start=None, end=None)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    my_str4 = my_str.startswith('hello')
    print(my_str4)
    my_str5 = my_str.startswith('Hello')
    print(my_str5)
    my_str6 = my_str.endswith('cpp')
    print(my_str6)
    

    执行结果:

    True
    False
    True

    1. upper,lower:把字符串变为大写,小写。
      使用格式:upper(self)
      lower(self)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    my_str7 = my_str.upper()
    print(my_str7)
    my_str8 = my_str7.lower()
    print(my_str8)
    

    执行结果:

    HELLO WORLD NEUEDU AND NEUEDUCPP
    hello world neuedu and neueducpp

    1. rjust,ljust,center:分别返回一个原字符串右对齐,左对齐,居中对齐,并用空格填充的字符串。
      使用格式:rjust(self, width, fillchar=None)
      ljust(self, width, fillchar=None)
      center(self, width, fillchar=None)
      示例如下:
    my_str_space = 'hello'
    new_my_str_space = my_str_space.rjust(10)
    print(new_my_str_space)
    print(len(new_my_str_space))
    new_my_str_space1 = my_str_space.ljust(100)
    print(new_my_str_space1)
    new_my_str_space2 = my_str_space.center(50)
    print(new_my_str_space2)
    print(len(new_my_str_space2))
    

    执行结果:

    1. rfind(rindex):和find(index)类似,但是从后面开始查找,返回字符串最后一次出现的位置,如果没有匹配项则返回-1(报错)。
      使用格式:同index,find类似
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    index5 = my_str.rfind('neuedu')
    print(index5)
    

    执行结果:

    1. partition:把my_str以str分割成三部分(str前,str中,str后)以元祖形式返回。
      使用格式:partition(self, sep)
      示例如下:
    my_str = 'hello world neuedu and neueducpp'
    t_mystr = my_str.partition('neredu')
    print(t_mystr)
    

    执行结果:

    23

    1. splitlines:按照行分割,返回一个包含各行作为元素的列表。
      使用格式:splitlines(self, keepends=None)
      示例如下:
    line = 'hello\nworld'
    print(line)
    list_line = line.splitlines()
    print(list_line)
    

    执行结果:

    hello
    world
    ['hello', 'world']

    1. isalpha,isdigit,isalnum:分别判断字符串是否全是由字母组成,数字组成,字母或者数字组成,是则返回true。
      使用格式:isalpha(self)

    示例如下:

    my_str = 'hello world neuedu and neueducpp'
    alpha = my_str.isalpha()
    print(alpha)
    alpha2 = 'dddddddddd'
    alpha3 = alpha2.isalpha()
    print(alpha3)
    print(alpha2.isalnum())
    print(alpha2.isdigit())
    

    执行结果:

    False
    True
    True
    False

    • 附上字符串截取操作
    name = 'abcdef'
    print(name[0:3]) # abc
    print(name[3:5]) # de
    print(name[2:]) # cdef
    print(name[1:-1]) # bcde
    print(name[:]) # abcdef
    print(name[::2]) # ace
    print(name[5:1:-2]) # fd
    print(name[::-1]) # fedcba
    print(name*3) # 输出3次name
    

    abc
    de
    cdef
    bcde
    abcdef
    ace
    fd
    fedcba
    abcdefabcdefabcdef

    相关文章

      网友评论

        本文标题:class2-字符串操作

        本文链接:https://www.haomeiwen.com/subject/hbzhnqtx.html