~~字符串的简单方法使用~~

进击のpython


n.capitalize(self):首字母大写

n = "qIaOzhipEiqi"
print(n.capitalize())

n.center(self,width,fillchar=None):居中

n = "qIaOzhipEiqi"
print(n.center(20, "*"))

20表示输出字符串长度,不够部分用“*”进行补充

n.count(self,sub,start=None,end=None):某个元素出现的次数

n = "qIaOzhipEiqi"
print(n.count("q"))

表示“q”在n字符串中出现了几次

而 start 和 end 参数 可以将字符串n进行分块查找

n = "qIaOzhipEiqi"print(n.count("q",2,9))

从下标2到下标9之间,没有“q”的出现

n.endswith(self):是否以self字符结尾

n = "qIaOzhipEiqi"
print(n.endswith("a"))
print(n.endswith("i"))

没啥说的,输出的是布尔值。

n.format(self,*arg,**kwargs):格式化输出

先不对 *arg 以及 **kwargs 做过多的解释,可以先熟悉他的用法:

  • print("i am %s , %s years old" % ("lilei", "22"))
    

首先,正常一般的格式化输出是上述方式,将想要变动的地方用%s进行占位,然后在后面进行补充。%s 就是 %str 字符串的意思,同理还有%d 就是 %digit 数字的意思。

  • s = "i am {0},{1}years old,i am {0}"
    n = s.format("lilei", "22")
    print(n)
    

和第一种的一样,将要替换的,放一个占位符{},里面放上序号,就可以进行相应位置的数据替换。好处是,可以将某个数据进行多次替换(如:“lilei”)。

  • s = "i am {name},{age}years old"
    n = s.format(name="lilei", age="22")
    print(n)
    

    这种写法就是“定点爆破”,对每个要替换的数据进行更明确的提示,方便进行大量替换。

    这里有个容易忽略的点!

    就是在py3.6之后的版本,增加了一种新的字符串的格式化手段!

    # 只提一下语法
    name = "牙牙"
    print(f"我是{name}的小可爱")
    

n.index(self):字符在字符串中的索引位置(只会返回第一个!)

n = "qIaOzhipEiqi"
print(n.index("q"))

那要是没找到呢?

n = "qIaOzhipEiqi"
print(n.index("x"))

不会返回-1,而是报错。

那要是想把第二个“q”的索引打印出来呢?在思考中。。。 。。。

n.isdigit(self):判断是否是数字

略。

n = "qIaOzhipEiqi"
print(n.isdigit())

n.islower(self):判断全是小写

略。。

n = "qIaOzhipEiqi"
print(n.islower())

n.isspace(self):判断是否是空格构成

n = "qIaOzhipEiqi"
print(n.isspace())

等等等等。。。 。。。

这还没结束,这里有个tips,看这里:

n = ""
print(n.isspace())

n = " "
print(n.isspace())

只有“”,里面什么也不敲,也是False!因为里面没有空格!

n.isupper(self):是否都是大写

这个,不想贴图了…

join(self,iterable):字符串拼接

在搞懂这个之前,有一个词 值得我们注意

iterable

中文意思是可迭代的

什么是可迭代的呢?

现在先不想,就知道字符串可以这么用就好,别纠结!

好!之后再来看例子:

n = "qIaOzhipEiqi"
s = ''.join(n)
print(s)

没什么概念是吧,再来!

n = "qIaOzhipEiqi"
s = '*'.join(n)
print(s)

看出来了吧!所以说为什么是字符串的拼接呢?

n.lower(self):全部小写

后面有个对应的方法 不贴图了。
知道能干什么吗?
验证码啊!大傻子!

n.replace(self,old,new,count=None):替换

n = "qIaOzhipEiqi"
s = n.replace("q","A")
print(s)

把字符串中旧的“q”,替换成新的“A”,全面替换!

那我想要替换一个两个的呢?

count参数很好的解决了这个问题!

n = "qIaOzhipEiqi"
s = n.replace("q", "A", 1)
print(s)

将 count 设置成 1 ,就是只替换一个,所以后面的 “q” 就没有被 "A" 替换掉。

n.split(self,sep=None,maxsplit=-1):切割!(切片)

就像切面包一样,我想切一半面包,是不是就要找到面包一半的点,然后切下去?

那sep就是面包一半的点

n = "qIaOzhipEiqi"
s = n.split("i")
print(s)

这里,把“i”当作切的位置,进行“下刀”!因为有三个“i”,所以切三刀,就应该有四个元素,没问题吧(这里考虑边缘也算是一部分,所以才有空字符串)!

那我就想吃三分之一个面包,后面的我都想放起来,不切,怎么办呢?

那就需要 maxsplit 这个参数了!

n = "qIaOzhipEiqi"
s = n.split("i",1)
print(s)

这样就可以只切一刀了,剩下的留到冰箱里,慢慢吃……

n.startswich("str") : 判断字符是否以str开头

n = "qiaozhipeiqi"
print(n.startswith("a"))
print(n.startswith("q"))

字符串的拼接,可以用这个方式进行简单设置

n = "qiaozhipeiqi"
n += "zhaosi"
print(n)

n.strip(self,chars=None):头尾删除

n = "qIaOzhipEiqi"
s1 = n.strip("i")
s2 = n.strip("q")
print(s1,s2)

可以看到,这个方法,只对字符串的头尾有效!

s1是删除头尾的“i”

s2是删除头尾的“q”

一定是头尾!中间的不算!!!

n.swapcase():两极(大小写)反转

大变小,小变大!

n = "qIaOzhipEiqi"
print(n.swapcase())

n.upper():全部大写

上面全部小写的兄弟!

n = "qIaOzhipEiqi"print(n.upper())


*大概就是这么多吧*
*停电把我心态搞炸*
原文地址:https://www.cnblogs.com/jevious/p/11115658.html