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

    import os
    #字符串
    test = 'alex'
    #capitalize() ---首字母大写
    print(test.capitalize())

    #lower() ---字母转换为小写
    test1 = 'Alex'
    print(test1.lower())

    #center() ---返回一个长度为width,两边用fillchar(单字符)填充
    # 的字符串,即字符串str居中,两边用fillchar填充。若字符串的长
    # 度大于width,则直接返回字符串str
    print(test.center(10))
    print(test.center(10,'#'))

    #count() ---计算字符在字符串中出行的次数,区分大小写
    l = 'eileen'
    l1 = 'eileeneileeneileen'
    print(l.count('e'))
    print(l1.count('eileen'))
    print(l1.count('eileen',5))#从第5个位置开始

    #endwith() ---以什么结尾
    print(test.endswith('ex'))
    #startwith() ---以什么开始
    print(test.startswith('ex'))

    #find() ---Python find() 方法检测字符串中是否包含子字符串
    # str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是
    # 否包含在指定范围内,如果包含子字符串返回开始的索引值,否则
    # 返回-1
    l2 = 'today is sunday'
    print(l2.find('sunday'))

    #format() ---将一个字符串中的占位符{},替换为指定的值
    test2 = 'i am {x},today is {y}'
    v = test2.format(x ='alex',y = 'sunday')
    print(v)

    #若占位符为数字,则按照顺序进行替换
    test3 = 'i am {0},today is {1}'
    v1 = test3.format('alex','sunday')
    print(v1)

    #isalnum() ---方法检测字符串是否由字母和数字组成
    print(test.isalnum())
    print(test3.isalnum())

    #expandtabs() ---把字符串中的 tab 符号(' ')转为空格,tab 符号(' ')默认的空格数是 8
    test4 = 'name sex age 小明 18 小花 12 小莉 15 小强 16 '
    print(test4.expandtabs(10))

    #islapha() ---检查字符串是否只包含字母和中文字符
    test5 = 'slkdjf你好'
    print(test5.isalpha())
    print(test4.isalpha())
    print(test.isalpha())

    #isdecimal() ---判断是否为数字,不包含特殊数字,例如⑶⑶⑶
    #isdigit() ---判断是否为数字,包含特殊数字
    test6 = '①⑶⑶⑶①'
    print(test6.isdigit()) #True
    print(test6.isdecimal()) #False

    #isidentifier() ---如果字符串是有效标识符,则 isidentifier() 方法返回 True,否则返回 False
    #如果字符串仅包含字母数字字母(a-z)和(0-9)或下划线(_),则该字符串被视为有效标识符。有效的标
    # 识符不能以数字开头或包含任何空格。
    print('---------------')
    test7 = '2skldfG'
    test8 = 'sjld slkd3423'
    print(test8.isidentifier())
    print(test7.isidentifier())
    print(test6.isidentifier())
    print(test.isidentifier())
    print(test5.isidentifier())

    #islower() ---字符串是否为小写
    print(test5.islower())
    print(test7.islower())

    #isnumeric() ---方法检测字符串是否只由数字组成
    test9 = '12'
    print(test7.isnumeric())
    print(test9.isnumeric())

    #isprintable() ---判断字符串中是否都可打印,例如:换行符、回车则不可打印
    print(test8.isprintable())
    print(test4.isprintable())

    #isspace() ---方法检测字符串是否只由空格组成
    test10 = ' '
    print(test10.isspace())
    print(test.isspace())

    #istitle() ---方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
    print(test.istitle())
    print(test1.istitle())
    print(test7.istitle())

    #isupper() ---方法检测字符串中所有的字母是否都为大写
    l3 ='EILEEN'
    print(test1.isupper())
    print(l3.isupper())

    #join() ---方法用于将序列中的元素以指定的字符连接生成一个新的字符串
    str = '+'
    print(str.join(test))
    list = ['1','2','3','4','5']
    print(''.join(list))
    print('+'.join(list))
    seq = {'xiaoli','yingzi','limi'}
    print(','.join(seq))

    #os.path.join() ---函数:连接两个或更多的路径名组件
    #1.如果各组件名首字母不包含’/’,则函数会自动加上
    #2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
    #3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾
    path1 = 'C:\'
    path2 = 'PythonCode\test\1.txt'
    print(os.path.join(path1,path2))

    #ljust() ---返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串
    print(test.ljust(10,'*'))
    print(test.ljust(10)+test)

    #lower() ---转换字符串中所有大写字符为小写
    print(test1)
    print(test1.lower())

    #lstrip() ---方法用于截掉字符串左边的空格或指定字符
    print(test.lstrip('al'))
    l4 = '555lsdjfsld333'
    print(l4.lstrip('5'))

    #maketrans() ---方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,
    # 第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
    #注:两个字符串的长度必须相同,为一一对应的关系。
    #maketrans() translate() 需联合使用
    # intab = "aeiou"
    # outtab = "12345"
    # deltab = "thw"
    #
    # trantab1 = str.maketrans(intab, outtab) # 创建字符映射转换表
    # trantab2 = str.maketrans(intab, outtab, deltab) # 创建字符映射转换表,并删除指定字符
    #
    # test = "this is string example....wow!!!"
    #
    # print(test.translate(trantab1))
    # print(test.translate(trantab2))

    intab = 'a'
    outtab = 'b'
    trantab = str.maketrans(intab,outtab)
    print(test.translate(trantab))

    #partition() ---方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。。
    #如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串
    #,第二个为分隔符本身,第三个为分隔符右边的子串。
    l5 = 'www.baidu.com.cn'
    l6 = 'xmlmx'
    print(l5.partition('.'))
    print(l6.partition('l'))

    print('***************************')
    #rpartition() 方法类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。。
    #如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,
    # 第三个为分隔符右边的子串。
    print(l5.rpartition('.'))
    print(l6.rpartition('l'))

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

    print(l5.replace('.','*'))
    print(l5.replace('.','*',2))

    #rfind() ---返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1
    # str - - 查找的字符串
    # beg - - 开始查找的位置,默认为0
    # end - - 结束查找位置,默认为字符串的长度。
    print(l5.rfind('.')) #默认返回最后一个出现的位置
    print(l5.rfind('.',4,10)) #4:开始位置 10:结束位置

    #rindex() 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常
    # ,你可以指定可选参数[beg:end]设置查找的区间
    # str -- 查找的字符串
    # beg -- 开始查找的位置,默认为0
    # end -- 结束查找位置,默认为字符串的长度。
    print(l5.rindex('cn'))
    print(l5.rindex('w'))
    print(l5.rindex('www'))
    print(l5.rindex('.',4,10))
    print(l5.rindex('.',4))

    #rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定
    # 的长度小于字符串的长度则返回原字符串
    print(l5.rjust(20))
    print(l5.rjust(20,'&'))

    #rsplit() 方法通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,
    # 包括空格、换行( )、制表符( )等。类似于 split() 方法,只不过是从字符串最后面开始分割。
    l6 = ' 7liming7lixiang7yunzhuo7liumi7 '
    print(l6.rsplit('7'))
    print(l6.split('7'))

    #rstrip() 删除 string 字符串末尾的指定字符(默认为空格)
    #strip() 删除 string 字符串头尾的指定字符(默认为空格)
    l7 = '7liming7lixiang7yunzhuo7liumi7'
    print(l6.rstrip())
    print(l6.strip()) #strip()删除头尾指定字符串
    print(l6.rstrip(' 7'))
    print(l6.strip(' 7'))

    #split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
    print(l7.split('7'))

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

    #startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True
    # 否则返回 False。如果参数 beg end 指定值,则在指定范围内检查。
    print(l7.startswith('7',7,10))
    print(l7.startswith('7'))
    print(l7.startswith('a'))

    #swapcase() 方法用于对字符串的大小写字母进行转换
    print(test1.swapcase())

    #title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写( istitle())l8 =
    'i am from china,my name is eileen'
    print(l8.title())
    print(l8.istitle())
    print(test1.istitle()) #istitle() 判断是否所有单词都是首字母大写

    #translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,
    # 要过滤掉的字符放到 del 参数中

    #maketrans() ---方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,
    # 第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
    #注:两个字符串的长度必须相同,为一一对应的关系。
    #maketrans() translate() 需联合使用
    # intab = "aeiou"
    # outtab = "12345"
    # deltab = "thw"
    #
    # trantab1 = str.maketrans(intab, outtab) # 创建字符映射转换表
    # trantab2 = str.maketrans(intab, outtab, deltab) # 创建字符映射转换表,并删除指定字符
    #
    # test = "this is string example....wow!!!"
    #
    # print(test.translate(trantab1))
    # print(test.translate(trantab2))
    intab =
    'a'outtab =
    'b'trantab = str.maketrans(intab
    ,outtab)
    print(test.translate(trantab))

    #upper() 方法将字符串中的小写字母转为大写字母
    print(test1.upper())

    #zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0
    print(test.zfill(10))

    #replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串)
    # 如果指定第三个参数max,则替换不超过 max 次name1 =
    '李孝利,李晓丽,李萍、李霞、李明'
    print(name1.replace('','',2))


    #-------------必须会的七个基本函数-------------------
    #(一)join() ---方法用于将序列中的元素以指定的字符连接生成一个新的字符串

    #(二) split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

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

    #(四)strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列

    #(五)upper() 方法将字符串中的小写字母转为大写字母

    #(六)lower() 方法转换字符串中所有大写字符为小写

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


    #-------------必须会的其他语法 且适用于几乎其他所有数据类型-------------------
    #(一)len() 长度name =
    '郑伊健'
    print(len(name))
    print(len(test))li = [
    11,2,1,4,3]
    print(len(li))z = {
    1,'3453','你是谁'}
    print(len(z))

    #(二)索引、下标,获取字符串中的某一个字符
    #(三)while循环
    #(四)for循环word =
    '君不见黄河之水天上来奔流到海不复回'index =
    0
    while index < len(word):
    print(word[index]) index +=
    1
    print('##########')
    for i in word:
    print(i)

    for letter in 'python':
    print(letter)


    #字符串一旦创建,在内存中一旦创建就不能修改,如果要修改,那么就会在内存中重新创建一个新的字符串
    #字符串一旦创建,不可修改
    #一旦修改或拼接,都会造成重新生成字符串next =
    '奔流到海不复回'info = word+
    ','+next #wordnextinfo 在内存中共开辟了三个内存空间存储这三个字符串
    print(info)


    #range 帮助创建连续的数字v =
    range(0,10)
    for i in v:
    print(i)

    #创建不连续的数字v1 =
    range(0,10,2) #2为步长
    for i in v1:
    print(i)

    #打印文字对应的索引
    # index = 0
    # while index < len(word):
    # print(word[index])
    # index += 1
    print('*************')
    for i in enumerate(word):
    print(i)
    print('*************')x =
    range(0,len(word))
    for i in x:
    print(i,word[i])


  • 相关阅读:
    Git本地操作2
    Blast在windows下的使用过程
    和为T
    出现次数最多的整数
    蓝桥杯 未名湖边的烦恼 java
    蓝桥杯数字三角形 java
    ①①将线性拉伸
    ⑩把线型对象转平面对象
    ⑨矩形
    ⑧建立样条:(样条也能够被拉伸)
  • 原文地址:https://www.cnblogs.com/lqcjlu/p/12243829.html
Copyright © 2011-2022 走看看