200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python字符串基本操作-Python 基本字符串操作

python字符串基本操作-Python 基本字符串操作

时间:2021-05-16 15:52:27

相关推荐

python字符串基本操作-Python 基本字符串操作

一、字符串拼接

str.join(sequence)将序列(sequence)中的元素以指定的字符(_)连接生成一个新的字符串

a = "123"

b = "abc"

c = "ABC"

str1 = "_".join([a, b, c])

print(str1)

运行结果:

123_abc_ABC

二、Python自定义方法

1、str.center(width[,fillchar])返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格(且只能是单个字符)

str1 = "hello world!"str_center= str1.center(50, "-")print(str_center)

运行结果:

-------------------hello world!-------------------

2、tr.endswith(suffix[,start[,end]])用于判断字符串是否以指定后缀(suffix 可以是一个字符串或者是一个元素)结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置

str1 = "hello world!"

print(str1.endswith("ld!")) # 判断str1是否以"ld!"结尾

print(str1.endswith("lo", 2, 5)) # 判断str1中第2位开始到第5位结束的截取字符串("llo")是否以lo结尾

运行结果:

True

True

3、str.startswith(str,beg=0,end=len(string))用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

str1 = "hello world!"

print(str1.startswith("hel")) # 判断字符串("hello world!")是否以("hel")开头

print(str1.startswith("llo", 2, 8)) # 判断字符串("llo wo")是否以("llo")开头

print(str1.startswith("llo", 3, 8)) # 判断字符串("lo wor")是否以("llo")开头

运行结果:

True

True

False

4、str.expandtabs(tabsize=8)把字符串中的 tab 符号(" ")转为空格,tab 符号(" ")默认的空格数是 8

str1 = "hello world!"

print(str1.expandtabs(20)) #制定制表符 的宽度为20

运行结果:

hello world!

5、str.find(str,beg=0,end=len(string))检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1

str1 = "hello world!"

print(str1.find("w")) #查找指定的元素("w")的第一个索引值并返回

print(str1.find("g")) #查找的元素不存在返回-1

运行结果:

6

-1

6、str.format()Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 %;可以接受不限个参数,位置可以不按顺序

str1 = "hello world, {name} is {age}"

print(str1.format(name="Quincy", age=29)) #格式化输出

dic1 = {"name": "Python", "age": "15"}print(str1.format(**dic1)) #通过字典设置参数

运行结果:

hello world, Quincy is 29hello world, Pythonis 15

7、str.index(str,beg=0,end=len(string))检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常

str1 = "hello world!"

print(""el"在字符串str1中的位置是:%d" % str1.index("el"))

运行结果:

"el"在字符串str1中的位置是:1

查询索引失败报异常:

str1 = "hello world!"

print(str1.index("gg"))

Traceback (most recent call last):

File "C:/Python_Learning/PyFullStack/Week2/Day1/String_1.py", line 43, in

print(str1.index("gg"))

ValueError: substring not found

8、str.isalnum()检测字符串是否由字母和数字组成

str2 = "abc1234"str3= "abc_1234"

print(str2.isalnum()) #判断是否为字母或数字

print(str3.isalnum())

运行结果:

True

False

9、str.isdecimal()检查字符串是否只包含十进制字符。这种方法只存在于unicode对象(注意:定义一个十进制字符串,只需要在字符串前添加 "u" 前缀即可),

如果字符串是否只包含十进制字符返回True,否则返回False。

str4 = u"12345"str5= u"12345abc"

print(str4.isdecimal()) #判断是否为十进制数字

print(str5.isdecimal())

运行结果:

True

False

10、str.isalpha()检测字符串是否只由字母组成,如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

str6 = "PythonIsFun"

str7 = "Python Is Fun"

str8 = "Python3"

print(str6.isalpha()) # 检测字符串是否只由字母组

print(str7.isalpha())

print(str8.isalpha())

print("".isalpha())

运行结果:

True

False

False

False

11、str.isidentifier()用于判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法,如果字符串是有效的 Python 标识符返回 True,否则返回 False

#判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法

print("if".isidentifier()) #True

print("def".isidentifier()) #True

print("class".isidentifier()) #True

print("_a".isidentifier()) #True

print("中国123a".isidentifier()) #True

print("123".isidentifier()) #False

print("3a".isidentifier()) #False

print("".isidentifier()) #False

运行结果:

True

True

True

True

True

False

False

False

12、str.islower()检测字符串是否由小写字母组成,如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

print("abc".islower())

print("Abc".islower())

print("123bc".islower())

运行结果:

True

False

True

13、str.isupper()检测字符串中所有的字母是否都为大写,如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

print("ABC".isupper())print("Abc".isupper())print("A123".isupper())

运行结果:

True

False

True

14、str.isspace()检测字符串是否只由空格组成,如果字符串中只包含空格,则返回 True,否则返回 False

print(" ".isspace()) #判断字符串是否为空格

print("This is a test".isspace()) #判断字符串是否为空格

运行结果:

True

False

15、str.istitle()检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写,如果字符串中所有的单词拼写首字母为大写,且其他字母为小写则返回 True,否则返回 False

str1 = "This Is String Example"str2= "This is String example"

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

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

运行结果:

True

False

16、str.isnumeric()检测字符串是否只由数字组成。这种方法是只针对unicode对象(注:定义一个字符串为Unicode,只需要在字符串前添加 "u" 前缀即可)

str1 = u"this"str2= u"0728"

print(str1.isnumeric()) #检测字符串是否只由数字组成。这种方法是只针对unicode对象

print(str2.isnumeric()) #检测字符串是否只由数字组成。这种方法是只针对unicode对象

运行结果:

False

True

17、str.lower()转换字符串中所有大写字符为小写

str1 = "THIS IS STRING EXAMPLE"str2= "This is String example"

print(str1.lower())print(str2.lower())

运行结果:

this isstring example

thisis string example

18、str.upper()将字符串中的小写字母转为大写字母

str1 = "this is string example"

str2 = "This Is String Example"

print(str1.upper())

print(str2.upper())

运行结果:

THIS IS STRING EXAMPLE

THIS IS STRING EXAMPLE

19、str.swapcase()用于对字符串的大小写字母进行转换

str1 = "this is string example"str2= "This Is String Example"

print(str1.swapcase()) #大小写反转

print(str2.swapcase()) #大小写反转

运行结果:

THIS IS STRING EXAMPLE

tHIS iS sTRING eXAMPLE

20、str.ljust(width[,fillchar])返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串

print("Progress:80%".ljust(80, "*"))

运行结果:

Progress:80% *******************************************************************

21、str.rjust(width[,fillchar])返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串

print("Progress:80%".rjust(80, "-"))

运行结果:

--------------------------------------------------------------------Progress:80%

22、str.strip([chars])用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列(注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符)

str1 = "ymy lovely baby girl y"

print(str1.strip("y")) # 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列

运行结果:

my lovely baby girl

23、str.lstrip([chars])用于截掉字符串左边的空格或指定字符

str.rstrip([chars])删除 string 字符串末尾的指定字符(默认为空格)

str1 = "ymy lovely baby girl y"

print(str1.lstrip("y")) #用于截掉字符串左边的空格或指定字符

print(str1.rstrip("y")) #用于截掉字符串末尾的空格或指定字符

运行结果:

my lovely baby girl y

ymy lovely baby girl

24、str.split(str="",num=string.count(str))通过指定分隔符对字符串进行切片,如果参数 num(分割次数。默认为 -1, 即分隔所有)有指定值,则分隔 num+1 个子字符串(str默认为所有的空字符,包括空格、换行( )、制表符( )等)

str1 = "Hello, This is a string test."

print(str1.split()) #以默认空格符进行分割

print(str1.split(" ", 2)) #以空格符进行分割2+1次

print(str1.split(",")) #以制定字符","进行分割

运行结果:

["Hello,", "This", "is", "a", "string", "test."]

["Hello,", "This", "is a string test."]

["Hello", "This is a string test."]

25、str.rsplit(str="",num=string.count(str))类似于split,区别是从字符串最后面开始分割

str1 = "Hello, This is a string test, I like Python."

print(str1.rsplit()) # 以默认空格符从最后面开始进行分割

print(str1.rsplit(" ", 2)) # 以空格符从最后面开始进行分割2+1次

print(str1.rsplit(",", 1)) # 以制定字符","从最后面开始进行分割

运行结果:

["Hello,", "This", "is", "a", "string", "test,", "I", "like", "Python."]

["Hello, This is a string test, I", "like", "Python."]

["Hello, This is a string test", "I like Python."]

26、str.rfind(str,beg=0end=len(string))返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1

str1 = "This is a string test"

print(str1.rfind("s")) #返回字符串最后一次出现s的位置(从右向左查询),如果没有匹配项则返回-1

运行结果:

19

27、str.title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

str1 = "this is a string test"

print(str1.title()) #字符串首字母大写

运行结果:

This Is A String Test

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。