美文网首页
字符串(string)操作(自带方法)

字符串(string)操作(自带方法)

作者: 马尔代夫Maldives | 来源:发表于2022-04-23 21:16 被阅读0次

    注意:字符串的所有方法都有返回值,不会更改原字符串(字符串本身也是不可变对象)。
    说明:以下s表示字符串本身或字符串变量。

    1.字母大小写转换

    s.upper():所有字母大写;
    s.lower():所有字母小写;
    s.capitalize():第1个字母大写,其他都小写;
    s.title():所有单词首字母大写,其他都小写;
    s.swapcase():小写字母大写,大写字母小写;
    注意:这些方法都返回新的字符串,不改变原字符串。

    2.is判断

    以“is”开头的是判断方法,根据结果返回True或False。
    s.isalnum():判断字符串是否只含有数字与字母;
    s.isalpha():判断字符串是否全为字母;
    s.isascii():判断字符串是否全为ASCII字符;
    s.isidentifier():判断字符串是否符合命名规则;
    s.islower():判断字符串是否全为小写;
    s.isupper():判断字符串是否全为大写;
    s.isprintable():判断字符串是否全为可打印字符(空格属于可打印,换行符、制表符都不属于可打印);
    ** s.isspace()**:判断字符串是否只含有空白符(空格、换行、制表符);
    s.istitle():判断字符串是否所有单词首字母大写,其他字母小写;
    s.isdecimal():返回True: Unicode数字,全角数字(双字节);返回False: 罗马数字,汉字数字;返回Error: byte数字(单字节);
    s.isdigit():返回True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字;返回False: 汉字数字; 返回后Error: 无;
    s.isnumeric():返回True: Unicode数字,全角数字(双字节),罗马数字,汉字数字;返回False: 无;返回Error: byte数字(单字节);

    3.字符串填充

    s.center((width[, fillchar])):以s为中心,两边填充字符串fillchar,直到新字符串长度为width,默认用空格填充;
    s.ljust((width[, fillchar])):功能同上,只是填充左边;
    s.rjust((width[, fillchar])):功能同上,只是填充右边;
    s.zfill(width):字符串左边添0到指定长度width;

    4.字符串搜索

    s.count(seq[, start[, end]]):统计指定区段出现seq子串的次数;
    s.startswith(seq[, start[, end]]):判断指定区段是否以seq子串开头;
    s.endswith(seq[, start[, end]]):判断指定区段是否以seq子串结尾;
    s.find(seq[, start[, end]]) :从左往右找到第一个子字串seq的位置序号,若无返回-1;
    s.rfind(seq[, start[, end]]):从右往左找到第一个子字串seq的位置序号,若无则为-1;
    s.index(seq[, start[, end]]): 从左往右找到第一个子字串seq的位置序号,若无则报错;
    s.rindex(seq[, start[, end]]):从右往左找到第一个子字串seq的位置序号,若无则报错;
    注意:位置序号start和end可以省略,省略时,搜索整个字符串;

    5.字符串替换

    s.replace(old, new[, count]):将old子串用new子串替换,count指定从左往右最多有几个old被替换;
    s.expandtabs(tabsize):将字符串中的“\t” 替换为一定数量的空格;

    6.字符串分割

    s.split(seq, maxsplit):以seq子串作为标记从左到右分割字符串,seq省略,则以空格作为分隔标记;maxsplit为最大分割次数,省略或-1或none,将会从左到右每一个sep切割一次(seq不会出现在结果中),返回一个由子序列组成的list;
    s.rsplit(seq, maxsplit):功能同上,只是从右到左分割;
    s.partition(seq):将字符串以子串seq为中心分成3部分,并以元组形式返回,即(左边部分, seq, 右边部分),注意是从左往右找到第一个seq并分割,如果原字符串不含seq,则返回(s,'','');
    s.rpartition(seq):将字符串以子串seq为中心分成3部分,并以元组形式返回,即(左边部分, seq, 右边部分),如果原字符串不含seq,则返回('','',s);

    7.字符左右修剪

    s.strip(seq):从字符串s首尾开始逐个判断(不能跳跃)每个元素是否也在字符串seq中(注意被判断的当前元素在seq中的顺序是无所谓的),如果是则将该元素从s中删除,直到某个元素不在seq中则停止判断(一边停止判断,不影响另一边继续判断),两边都结束后,返回剩下的字符串。若省略seq,即s.strip()表示移除s首尾的空格、制表符、换行符。
    s.lstrip(seq):只对s的左侧执行上述功能;
    s.rstrip(seq):只对s的右侧执行上述功能;

    8.字符串连结

    s.join(seq):将可迭代序列seq的每一个元素以字符串s作为间隔连在一起,形成一个更大的字符串;注意seq可以是字符串、列表、字典、元组、集合,但seq的所有元素都必须是字符型。

    a="qwer" #字符串
    print("_".join(a))
    q_w_e_r
    
    a=['1','2','3'] #字符串
    print("_".join(a))
    1_2_3
    
    a={'a':1,'b':2,'c':3} #字典
    print("@".join(a))
    a@b@c
    
    a=("a","b","c","d") #元组
    print("".join(a))
    abcd
    
    a={"qwe","asd","zxc"} #集合
    print(".".join(a))
    asd.qwe.zxc
    ###################################
    a=(1,2,3) #元素非字符型,报错
    print("%".join(a))
    
    a=('AB',{'a','cd'}) #第二个元素是字典,非字符型,报错
    print("%".join(a))
    

    相关文章

      网友评论

          本文标题:字符串(string)操作(自带方法)

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