pythonc字符串
A. python处理字符串必备方法
字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它。
▍1、Slicing
slicing切片,按照一定条件从列表或者元组中取出部分元素(比如特定范围、索引、分割值)
▍2、****strip()
strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
在使用strip()方法时,默认去除空格或换行符,所以#号并没有去除。
可以给strip()方法添加指定字符,如下所示。
此外当指定内容不在头尾处时,并不会被去除。
第一个 前有个空格,所以只会去取尾部的换行符。
最后strip()方法的参数是剥离其值的所有组合,这个可以看下面这个案例。
最外层的首字符和尾字符参数值将从字符串中剥离。字符从前端移除,直到到达一个不包含在字符集中的字符串字符为止。
在尾部也会发生类似的动作。
▍3、****lstrip()
移除字符串左侧指定的字符(默认为空格或换行符)或字符序列。
同样的,可以移除左侧所有包含在字符集中的字符串。
▍4、rstrip()
移除字符串右侧指定的字符(默认为空格或换行符)或字符序列。
▍5、****removeprefix()
Python3.9中移除前缀的函数。
和strip()相比,并不会把字符集中的字符串进行逐个匹配。
▍6、removesuffix()
Python3.9中移除后缀的函数。
▍7、****replace()
把字符串中的内容替换成指定的内容。
▍8、****re.sub()
re是正则的表达式,sub是substitute表示替换。
re.sub则是相对复杂点的替换。
和replace()做对比,使用re.sub()进行替换操作,确实更高级点。
▍9、****split()
对字符串做分隔处理,最终的结果是一个列表。
当不指定分隔符时,默认按空格分隔。
此外,还可以指定字符串的分隔次数。
▍10、****rsplit()
从右侧开始对字符串进行分隔。
▍11、****join()
string.join(seq)。以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串。
▍12、****upper()
将字符串中的字母,全部转换为大写。
▍13、****lower()
将字符串中的字母,全部转换为小写。
▍14、capitalize()
将字符串中的首个字母转换为大写。
▍15、****islower()
判断字符串中的所有字母是否都为小写,是则返回True,否则返回False。
▍16、isupper()
判断字符串中的所有字母是否都为大写,是则返回True,否则返回False。
▍17、****isalpha()
如果字符串至少有一个字符并且所有字符都是字母,则返回 True,否则返回 False。
▍18、isnumeric()
如果字符串中只包含数字字符,则返回 True,否则返回 False。
▍19、isalnum()
如果字符串中至少有一个字符并且所有字符都是字母或数字,则返回True,否则返回 False。
▍20、count()
返回指定内容在字符串中出现的次数。
▍21、****find()
检测指定内容是否包含在字符串中,如果是返回开始的索引值,否则返回-1。
此外,还可以指定开始的范围。
▍22、rfind()
类似于find()函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。
▍23、startswith()
检查字符串是否是以指定内容开头,是则返回 True,否则返回 False。
**
**
▍24、****endswith()
检查字符串是否是以指定内容结束,是则返回 True,否则返回 False。
▍25、****partition()
string.partition(str),有点像find()和split()的结合体。
从str出现的第一个位置起,把字符串string分成一个3 元素的元组(string_pre_str,str,string_post_str),如果string中不包含str则 string_pre_str==string。
▍26、center()
返回一个原字符串居中,并使用空格填充至长度width的新字符串。
▍27、ljust()
返回一个原字符串左对齐,并使用空格填充至长度width的新字符串。
▍28、rjust()
返回一个原字符串右对齐,并使用空格填充至长度width的新字符串。
▍29、f-Strings
f-string是格式化字符串的新语法。
与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快!
▍30、swapcase()
翻转字符串中的字母大小写。
▍31、zfill()
string.zfill(width)。
返回长度为width的字符串,原字符串string右对齐,前面填充0。
参考文献: https://mp.weixin.qq.com/s/9cuO-KL3g9ldqRGGZBVnjw
B. Python字符串是什么,如何使用
字符串的表示
字符串可以被成对的单引号(single quote)或双引号(double quotes)包围起来,这两者的作用是一样的:
更多关于Python的基础性知识可以看下这个网页的视频教程,Python常见的数据类型及使用方法掌握,希望我的回答能帮到你。
C. Python 基础知识全篇-字符串(Strings)
单引号和双引号
字符串可以包含在单引号或双引号中。
这种灵活的方式可以让我们在字符串中包含引号。
当我们需要创建一个多行字符串的时候,可以用三个引号。如下所示:
改变大小写
你可以很方便的改变字符串的大小写。如下所示:
最常见的大小写形式是全小写(lower),首字母大写(title)和全大写(upper)。如下所示:
注意:初始字符串没被改变。
你会经常见到这种用法。变量名后跟点和操作名称,且后跟一组圆括号。圆括号里可能是空的,也可能包含一些数据。
variable_name.action()
在这个例子中, action 是一个 方法 的名字。 title , lower , upper 是内置在 Python 中的函数,可以作用于字符串的方法。
连接字符串
字符串连接示例如下所示:
加号连接两个字符串。你可以使用任意个加号来连接字符串。
格式化字符串简介
空白符
空白符通常指计算机能够发现但不可见的字符。诸如空格,制表符,换行符等。
空格很容易创建,基本上在你拥有计算机的时候就会打出空格符。制表符和换行符是由特殊字符连接组成的。
"\t" 代表制表符,"\n" 代表换行符。你可以将它们添加进字符串的任意部分。
去除空白符
有时候我们想去除掉字符串开始或者结尾的空白符。Python 中有一些方法可以帮我们做到这点。如下所示:
lstrip 去除左侧开端的空白符, rstrip 去除右端结尾的空白符, strip 去除两端空白符。
看一个更清晰的例子,如下所示:
动手试一试
Someone Said
找一条自己喜欢的名言,存储在变量。结合适当的介绍打印出来。例如:" Ken Thompson once said, 'One of my most proctive days was throwing away 1000 lines of code' "。
First Name Cases
将你的姓存储在一个变量中。
分别用 lowercase, Titlecase, UPPERCASE 三种方式打印姓。
Full Name
将你的名和姓存储在不同的变量中,连接它们并打印。
Name Strip
将你的姓存储在变量中。在姓的前后两端至少各包含两种空白符。
打印姓。
分别打印出去掉左侧空白符,右侧空白符,都去掉空白符的姓。
D. Python中字符串常用操作有哪些
字符串是 Python
中常用的数据类型,我们可以使用引号('或")来创建字符串,对字符串进行使用和操作,需要用到特定的函数,以下是常用的Python字符串操作方法:
1. capitalize()
作用:capitalize() 主要是用来实现字符串首字母大写,其他字母小写的功能。
实例:
1
2str1 = "oldboy"
print(str1.capitalize())
输出结果:Oldboy
2. swapcase()
作用:swapcase() 主要是用来实现字符串大小写反转。
实例:
1
2str1 = " Oldboy"
print(str1.swapcase())
输出结果:oLDBOY
3. title()
作用:title() 主要是用来实现字符串非字母隔开的部分,首字母大写,其余字母小写。
实例:
1
2str1 = "Old boy e com"
print(str1.title())
输出结果:Old Boy E Com
4. upper()
作用:upper() 主要是用来实现字符串所有字母全部大写。
实例:
1
2str1 = "Oldboye"
print(str1.upper())
输出结果:OLDBOYEDU
5. lower()
作用:lower() 主要是用来实现字符串所有字母全部小写。
实例:
1
2str1 = "oLDBOYEDU"
print(str1.lower())
输出结果:oldboye
6. center()
作用:center() 主要是用来实现字符串内容居中,填充物默认为空。
实例:
1
2
3str1 = "Oldboye"
print(str1.center(15))
print(str1.center(15,"*"))
输出结果:
Oldboye
***Oldboye***
7. find()
作用:find() 主要作用是通过元素找索引,可以整体找,可以切片,找不到则返回-1。
实例:
1
2
3str1 = "Oldboye"
print(str1.find('b'))
print(str1.find('A'))
输出结果:3 -1
8. index()
作用:index() 主要作用是通过元素找索引,可以整体找,可以切片,找不到会报错。
实例:
1
2
3str1 = " Oldboye "
print(str1.index("b"))
print(str1.index("A"))
输出结果:
0
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj) 主要作用是检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。
实例:
1
2str1 = "Oldboye"
print(str1.startswith("O"))
输出结果:True
10. endswith(obj)
作用:endswith(obj) 主要作用是检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。
实例:
1
2str1 = " Oldboye "
print(str1.endswith("e"))
输出结果:True
11. strip()
作用:strip() 主要作用是去除字符串前后两端的空格或其他字符、换行符、tab键等。
实例:
1
2
3
4str1 = "***Oldboy***"
print(str1.strip("*")) #去除两边的*
print(str1.lstrip("*")) #去除左边的*
print(str1.rstrip("*")) #去除右边的*
输出结果:
Oldboy
Oldboy***
***Oldboy
12. replace(oldstr, newstr)
作用:replace(oldstr, newstr)主要作用是替换字符串。
实例:
1
2str1 = "Oldboye"
print(str1.replace("boy","man"))
输出结果:Oldmane
13. isalpha()
作用:isalpha()主要作用是要判断字符串是否只由字母组成,是返回Ture,否返回False。
实例:
1
2
3
4str1 = "Oldboye"
str2 = “Old boy e”
print(str1.isalpha())
print(str2.isalpha())
输出结果:True False
14. isdigit()
作用:isdigit()主要作用是判断字符串是否只由数字组成,是返回Ture,否返回False。
实例:
1
2
3
4str1 = "Oldboye"
str2 = “520”
print(str1.isdigit())
print(str2.isdigit())
输出结果:False True
15. format()
作用:format()主要作用是格式化字符串。
方式一:按位置传参
1
2str1 = '我叫{},今年{}岁'.format('oldboy',30)
print(str1)
输出结果:我叫oldboy,今年30岁
方式二:按索引传参
1
2str1 = '我叫{0},今年{1}岁'.format('oldboy',30)
print(str1)
输出结果:我叫oldboy,今年30岁
方式三:按key传参
1
2str1 = '我叫{name},今年{age}岁'.format(age=30,name='oldboy')
print(str1)
输出结果:我叫oldboy,今年30岁
16. count()
作用:count()主要作用是统计元素在字符串出现的次数。
1
2str1 = "oldboye"
print(str1.count(‘o’)) #统计字符o在字符串中出现的次数
数据结果:2
E. Python 字符串和变量
例:用Python打印 Let's go! 的几种方式
(1)print("Let's go!")
说明:句子中存在单引号时,字符串需用非单引号进行区分,以免系统误会
(2)print(""" Let's go! """)
说明:同上
(3)print(''' Let's go! ''')
说明:同上
(4)print(' Let\'s go! ')
说明:\ 放在'前表示此处'仅做符号显示,不做任何其它语法含义
(1)变量名不能以数字开头,例如 520love变量名是不合法的
(2)变量名大小写不同,是不同的变量,例如 Love和love不是同一个变量
(3)python两个变量x,y值交换的简便语法,x,y = y,x ;
(4)python 3.0版本支持了中文名作为变量
左为表达式,右为含义,详情如下:
\\ : 反斜杠(\)
\' : 单引号(')
\" : 双引号(")
\a : 响铃(BEL)
\b : 退格符(BS)
\n : 换行符(LF)
\t :水平制表符(TAB)
\v:垂直制表符(VT)
\r:回车符(CR)
\f:换页符(FF)
\ooo:ooo 为八进制数
\xhh:hh 为十六进制数
例:输出D:\mkdir\homework
可表达为print(r"D:\mkdir\homework"),r后表示后面的字符串为原始字符串,即可不用使用转义字符\\转义成\表示,方便地址很长时使用
(1)\n\,\放置在末尾,表示这事情还没结束,即\n\表示换行后需要继续执行后面的语句,例如
“你好,\n\
我叫小明”
(2)三引号,即‘’‘或“”“括起来,例如
“”“
你好,
我叫小明
”“”
F. Python入门教程08——字符串操作
Python 提供了5个字符串操作符:in、空格、加号、星号和逗号。
字符串是字符的有序集合,可用in 操作符判断字符串包含关系,例如:
以空格分隔(或者没有分隔符号)的多个字符串可自动合并,例如:
加号可将多个字符串合并,例如:
星号用于将字符串复制多次以构成新的字符串,例如:
在使用逗号分隔字符串时,会创建字符串组成的元组,例如:
字符串是一个有序的集合,其中的每个字符可通过偏移量进行索引或分片。字符串中的字符按从左到右的顺序,偏移量依次为: 0 、 1 、 2 … len-1 (最后一个字符的偏移量为字符串长度减1);或者倒着排,为: -len … -2 、 -1 。索引指通过偏移量来定位字符串中的单个字符,例如:
通过索引可获得指定位置的单个字符,但不能通过索引来修改字符串。因为字符串对象不允许被修改,例如:
字符串的切片利用索引范围从字符串中获得连续的多个字符(即子字符串)。字符串切片的基本格式如下:
表示返回字符串x中从偏移量start开始,到偏移量end之前的子字符串。 start和end参数均可省略,start默认为0,end默认为字符串长度。例如:
默认情况下,切片用于返回字符串中的多个连续字符,可以通过步长参数来跳过中间的字符,其格式如下:
用这种格式切片时,会依次跳过中间step-1个字符,step默认为1。请看如下代码:
G. python之字符串内置函数
1. 字符串字母处理
2. 字符串填充
str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)
返回一个指定的宽度 width “居左”/“居中”/“居右”的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。
3,字符串计数
str.count(sub, start, end)
#统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
start, end遵循**“左闭右开”**原则。
4. 字符串位置
str.endswith(suffix, start, end)和str.startswith(substr, beg, end)
#判断字符串是否以指定后缀结尾/开头,如果以指定后缀“结尾”/“开头”返回 True,否则返回 False。
5. 字符串查找
6. 字符串判断
7. 字符串拼接
str.join() #将序列中的元素以指定的字符连接生成一个新的字符串。
s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b")
# 字符串序列 print (s1.join( seq )) print (s2.join( seq )) r-u-n-o-o-b runoob
8. 统计字符串长度
str.len() #返回对象(字符、列表、元组等)长度或项目个数。
9. 去除字符两侧空格
str.lstrip()、str.rstrip()、str.strip() #截掉字符串“左边”/“右边”/“左右”两侧的空格或指定字符。
str0 = ' Hello World!' str0.lstrip() 'Hello World!' str1 = 'aaaa Hello World!' str1.lstrip('a') ' Hello World!'
10. str.maketrans(intab, outtab)和str.translate(table)
str.maketrans()创建字符映射的转换表
str.maketrans()根据参数table给出的表转换字符串的字符。
str.maketrans()传入的也可以是字典
tab = {'e': Ɖ', 'o': Ɗ'} trantab = str.maketrans(tab) str0.translate(trantab) 'H3ll4 W4rld!'
11. 字符串替换
str.replace(old, new, max)
12. 字符分割
str.split(str, num)
13. 字符填充
str.zfill(width)
返回指定长度的字符串,原字符串右对齐,前面填充0。
H. python 字符串提取信息方法总结
在日常项目中,我们经常会使用python从字符串中提取我们想要的信息,以下是各种提取信息方法的总结。
格式: str[beg:end:step]
描述: 字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1
举例:
print(str[::2]) //::这里表示整个字符串,每两个位置提取一个
print(str[1:3]) //提取第2个到第3个
print(str[2::]) //截取2 - 末尾的字符
本小节介绍了,处理字符串经常用到的一些函数方法。
语法: str.find(str, beg=0, end=len(string))
描述: Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
语法: str.split(str="", num=string.count(str)).
描述: Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串.返回分割后的字符串行表,该方法可以讲字符串转化为列表处理。
另外的: str.splitlines([keepends])按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
语法: str.partition(str)
描述: partition() 方法用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
语法: str.replace(old, new, max)
描述: Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法: str.strip([chars]);
描述: Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
语法: str.join(sequence)
描述: Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
上述方法还有其变形,如str.rfind(),这代表从字符串右边开始处理,正常是从左边开始处理。下表是其它常用的python字符串自带函数方法。
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。本小节主要介绍Python中常用的正则表达式处理函数和正则表达式的书写规则。
re 模块使 Python 语言拥有全部的正则表达式功能。所以在python中使用正则表达式处理函数需要import re
语法: re.search(pattern, string, flags=0)
描述: re.search 扫描整个字符串并返回第一个成功的匹配。匹配成功re.search方法返回一个匹配的对象,否则返回None。
语法: re.sub(pattern, repl, string, count=0, flags=0)
描述: Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。
语法: pattern.findall(string, pos, endpos)
描述: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意: match 和 search 是匹配一次 findall 匹配所有。
模式字符串使用特殊的语法来表示一个正则表达式: