<1>str.strip()、str.lstrip()和str.rstrip()

1' str.strip()(主要方法)

方法:str.strip(self,chars)

作用:移除字符串的指定字符。(核心是),移除的结果作为一个返回值,原字符串仍不变。

chars参数:需要移除的字符串,如果省略或者为None,则默认移除空格。

要点

①:移除的字符串过程为从外向内,如果最外边没有要移除的字符串(假设里面却有的话),此时里面的那个字符串是不会被移除的。

s1='/a=abcd*/-a'
s2=s1.strip('a')
print(s1)
print(s2)

结果:
/a=abcd*/-a
/a=abcd*/-
需要移除的字符串是a,左边a在里面无法移除,右边最外边有一个a,可以移除

②:当要移除多个字符串(假设‘ab’)的时候,移除没有前后顺序,只有被移除对象两边最外面有b就移除b,移除后的最外边如果还有a则继续继续移除a。

#①
s1='b*a /abcd*/b a-'
s2=s1.strip('ab')
print(s1)
print(s2)

#结果:
b*a /abcd*/b a-
*a /abcd*/b a-
移除原则:由外向内,内部字符串只能等待外边全部移除完毕才能移除。

#②
s1='ba/abcd*/ a-ab'
s2=s1.strip('ab')
print(s1)
print(s2)

#结果:
ba/abcd*/ a-ab
/abcd*/ a-
先把b移除了,b移除完a就暴露到最外边了,这样就可以移除a。这里可以看到移除ab部分先后顺序,只要谁在外面谁先移除。

③:所以所strip移除字符串是有限制的,不是说有就移除,而是最外边有才移除,在里面不行,除非移除的多个字符串中的其他字符串被移除了,将这个字符串暴露到最外边了,才会开始移除。

s1='+/*-/=abcd*/*/+ -'
s2=s1.strip('/-*+= ')
print(s1)
print(s2)

结果:
+/*-/=abcd*/*/+ -
abcd
此时abcd两边都是一些特殊字符,想要去除就直接将所有字符放入需要移除的字符串中就可以全部移除了。不管怎么移除,肯定会依次将所有需移除的字符暴露在最外边。

注:官方文档内容,供参考:

返回原字符串的副本,移除其中的前导和末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空格符。 实际上 chars 参数并非指定单个前缀或后缀;而是会移除参数值的所有组合:

>>>
>>> '   spacious   '.strip()
'spacious'
>>> 'www.example.com'.strip('cmowz.')
'example'
最外侧的前导和末尾 chars 参数值将从字符串中移除。 开头端的字符的移除将在遇到一个未包含于 chars 所指定字符集的字符时停止。 类似的操作也将在结尾端发生。 例如:

>>>
>>> comment_string = '#....... Section 3.2.1 Issue #32 .......'
>>> comment_string.strip('.#! ')
'Section 3.2.1 Issue #32'

官方

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2' str.lstrip()和str.rstrip()

左移除和右移除(前移除和尾移除)

方法类似前面的str.strip(),只不过是只移除前面或者只移除尾部字符串。移除规则同上。

左移除:
s1='-*abc*-'
s2=s1.lstrip('-')
print(s1)
print(s2)

#结果:
-*abc*-
*abc*-
lstrip只移除左边的。右边的不管

右移除:
s1='-*abc*-'
s2=s1.rstrip('-')
print(s1)
print(s2)

#结果:
-*abc*-r
-*abc*
rstrip只移除右边的。左边的不管

左边、右边移除

注:官方文档内容,供参考:

str.lstrip([chars])
返回原字符串的副本,移除其中的前导字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空格符。 实际上 chars 参数并非指定单个前缀;而是会移除参数值的所有组合:

>>>
>>> '   spacious   '.lstrip()
'spacious   '
>>> 'www.example.com'.lstrip('cmowz.')
'example.com'

str.rstrip([chars])
返回原字符串的副本,移除其中的末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空格符。 实际上 chars 参数并非指定单个后缀;而是会移除参数值的所有组合:

>>>
>>> '   spacious   '.rstrip()
'   spacious'
>>> 'mississippi'.rstrip('ipz')
'mississ'

官方

==================================================================================================

<2>str.center()

方法:str.center(self,width,fillchar)

作用:返回总长度为width的字符串,原字符串在正中,使用指定的fillchar填充两边的空余部分

参数:指定的fillchar给的话,默认使用ASCII空格符

fillchar为空时:用空格填充

s1='中国'
s2=s1.center(20)   #默认不传填充物
print(s2,'这是末尾')

#结果:
         中国          这是末尾
------------------------------------------------
fillchar不为空:填充指定字符串

s1='武汉'
s2=s1.center(20,'*')   #用*当做填充物
print(s2)

#结果:
*********武汉*********
------------------------------------------------
当width减去原字符串个数结果为奇数时候:左多右少

s1='高新'
s2=s1.center(7,'+')
print(s2)

#结果:
+++高新++

要点:

①:如果width小于等于原字符串的总长度,则返回原字符串。

s1='湖北武汉东湖高新'
s2=s1.center(7,'*')
print(s2)

#结果:
湖北武汉东湖高新

注:官方文档内容,供参考:

str.center(width[, fillchar])
返回长度为 width 的字符串,原字符串在其正中。 使用指定的 fillchar 填充两边的空位(默认使用 ASCII 空格符)。 如果 width 小于等于 len(s) 则返回原字符串的副本。

center官方

==================================================================================================

<3>str.join()

方法:str.join(self,interable)

作用:a.join(b),将a作为分隔符分隔b中的每一个元素,这里的b需要是一个可迭代对象。返回一个被a分隔了b的字符串

参数:可迭代对象

要点:①如果可迭代对象里面存在任何非字符串值(包括bytes对象)时候,会显示乱码()(在pycharm中)。

print('a'.join('大家好'))   #大a家a好
将a添加到‘大家好’中,相当于将a作为分隔符分隔了字符串‘大家好’

print('a'.join('大'))    #大
如果后面的参数是一个单字符,或者是包含单个元素的可迭代对象,就没a啥事了,直接返回这个参数(或者返回迭代对象中的字符串)
s=['abcd']print('#'.join(s))

结果:abcd

注:官方文档内容,供参考:

str.join(iterable)
返回一个由 iterable 中的字符串拼接而成的字符串。 如果 iterable 中存在任何非字符串值包括 bytes 对象则会引发 TypeError。 调用该方法的字符串将作为元素之间的分隔。

==================================================================================================

<4>str.count()

方法:str.count(self,x,__start,__end)

作用:返回字符串x,在[start,end]范围内非重叠出现的次数

参数:关键字符串x,开始 结束

要点:①[start,end]方法与切片方法一致,顾头不顾尾

   ②start,end不写默认范围为全部

print('abcacd'.count('c'))
print('abcaabcd'.count('abc'))
print('abcacd'.count('c',0,4))

#结果:
2
2
1

注:官方文档内容,供参考:

str.count(sub[, start[, end]])
返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数。 可选参数 start 与 end 会被解读为切片表示法。

官方str.count()

==================================================================================================

<5>、str.split()

方法:str.split(self,sep,maxsplit)

作用:找出字符串s中的sep字符,将sep当做分隔依据拆分该字符串s,返回一个拆分开来的列表

参数:sep:分隔依据 字符串,maxsplit:最大拆分次数,不写默认全部

要点:①如果有连续拆分依据的字符串,则连续拆分的字符串不会被组合在一起而是被视为分隔空字符串

print('1,,,,2'.split(','))  #['1', '', '', '', '2']
这里用逗号','来作为分隔拆分依据,有多个连续逗号,此时连续逗号之间有多少个空字符串,就拆分多少个空字符串加入列表

   ②拆分依据字符串可能由多个字符组成,此时将多个字符当做整体作为拆分依据进行拆分就行

print('1ab2a3abbab5'.split('ab'))  #['1', '2a3', 'b', '5']
拆分依据为‘ab’,将‘ab’作为整体作为拆分依据

     ③使用指定的分隔符拆分空字符串将返回 ['']

print(''.split('ab'))   #['']

注:官方文档内容,供参考:

未完待续......

(以下为添加模板)

==================================================================================================

<n>、str.()

方法

作用

参数

要点

注:官方文档内容,供参考:

str.方法的整理(字符串类型内置方法的具体使用)的更多相关文章

  1. day06-数字类型、字符串类型内置方法

    目录 数字类型内置方法 字符串类型内置方法 有序 or 无序 可变 or 不可变 数字类型内置方法 1. int()强制类型转化成整型 age_str = '18' # 定义字符串 age = int ...

  2. day08 数字,字符串类型内置方法

    目录 数字类型内置方法 为什么要有数据类型? 定义方式 方法 储存一个值or多个值? 有序or无序?(有序:有索引, 无序:无索引) 可变or不可变(可变:值变id不变,不可变:值变id也变) 字符串 ...

  3. Python基础之字符串类型内置方法

    目录 1. 字符串类型 2. 常用操作及内置方法 3. 其他内置方法 1. 字符串类型 用途:姓名,性别等 定义: name1 = 'zhaojun' name2 = "zhaojun&qu ...

  4. Python-数据类型内置方法(1)

    目录 数字类型内置方法 整形(int) 浮点型(float) 字符串类型内置方法 优先掌握 需要掌握 了解 列表类型内置方法 优先掌握 需要掌握 数字类型内置方法 整形(int) 作用:年龄 定义:x ...

  5. str类型内置方法

    目录 str类型内置方法 用途 定义方式 常用操作和内置方法 优先掌握 需要掌握 了解 存一个值or多个值 有序or无序 可变or不可变 强化训练 str类型内置方法 用途 字符串数字.字母.下划线组 ...

  6. python-数字类型内置方法

    数字类型内置方法 为什么要有数据类型? 数据是用来表示状态的,不同的状态就应该用不同的数据类型去表示 整型(int) 用途:年龄.号码.银行卡号等 定义:可以使用int()方法将纯数字的字符串转换为十 ...

  7. day07-列表类型/元组类型/字典类型/集合类型内置方法

    目录 列表类型内置方法 元组类型内置方法 字典类型内置方法 集合类型内置方法 列表类型内置方法 用来存多个元素,[]内用逗号隔开任意数据类型的元素 1. list()强制类型转换 print(list ...

  8. python字符串常用内置方法

    python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

  9. python字符串处理内置方法一览表

    python字符串处理内置方法一览表   序号 方法及描述 1 capitalize()将字符串的第一个字符转换为大写 2 center(width, fillchar) 返回一个指定的宽度 widt ...

随机推荐

  1. Flask构建微电影(一)

    第一章.项目介绍  1.1.前言    本教程我将带领大家如何使用flask框架开发微电影网站.Flask是python中最受欢迎的轻量级web框架,flask扩展丰富,冗余度小,可自由选择组合各种插 ...

  2. Unity3D学习(二):使用JSON进行对象数据的存储读取

    前言 前段时间完成了自己的小游戏Konster的制作,今天重新又看了下代码.原先对关卡解锁数据的存储时用了Unity自带的PlayerPref(字典式存储数据). 读取关卡数据的代码: void Aw ...

  3. Tiny4412之重力感应器驱动

    一:Tiny4412 裸板重力感应驱动编写 整个编写过程大概分为如下几步: (1)在底板上找到重力感应器的所在位置,找到芯片型号(我用的板子上重力感应器芯片型号为:MMA7660FC) (2)通过型号 ...

  4. 剑指Offer_编程题之重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  5. Linux kernel的中断子系统之(五):驱动申请中断API

    返回目录:<ARM-Linux中断系统>. 总结:二重点区分了抢占式内核和非抢占式内核的区别:抢占式内核可以在内核空间进行抢占,通过对中断处理进行线程化可以提高Linux内核实时性. 三介 ...

  6. idea运行多模块的maven项目,工作目录不一致的问题

    我使用idea开发多模块的maven项目,目录结构如下: segment  (父级)          ---pom.xml          ---core     (子模块)            ...

  7. nodejs中处理回调函数的异常

    如果是使用nodejs+express3这个经典的组合,那么有一种很方面的处理回调函数异常的方法: 1. 安装模块:express-domain-middleware 2. 加入如下的代码: app. ...

  8. random.nextInt()与Math.random()基础用法

    相关文章:关于Random(47)与randon.nextInt(100)的区别 1.来源 random.nextInt() 为 java.util.Random类中的方法: Random类中还提供各 ...

  9. java 中 一个int类型的num,num&1

    n&1 把n与1按位与,因为1除了最低位,其他位都为0,所以按位与结果取决于n最后一位,如果n最后一位是1,则结果为1.反之结果为0.(n&1)==1: 判断n最后一位是不是1(可能用 ...

  10. DIV水平垂直布局

    <%@ page language="java" pageEncoding="utf-8" import="java.util.*,com.ta ...