Python字符串运算符
下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”
| 操作符 | 描述 | 实例 |
|---|---|---|
| + | 字符串连接 | >>>a + b ‘HelloPython’ |
| * | 重复输出字符串 | >>>a * 2 ‘HelloHello’ |
| [] | 通过索引获取字符串中字符 | >>>a[1] ‘e’ |
| [ : ] | 截取字符串中的一部分 | >>>a[1:4] ‘ell’ |
| in | 成员运算符 - 如果字符串中包含给定的字符返回 True | >>>“H” in a True |
| not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | >>>“M” not in a True |
| r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | >>>print r’\n’ \n >>> print R’\n’ \n |
| % | 格式字符串 | 请看下一章节 |
实例(Python 2.0+)
#!/usr/bin/python # -- coding: UTF-8 -- a = “Hello” b = “Python” print “a + b 输出结果:”, a + b print “a * 2 输出结果:”, a * 2 print “a[1] 输出结果:”, a[1] print “a[1:4] 输出结果:”, a[1:4] if( “H” in a) : print “H 在变量 a 中” else : print “H 不在变量 a 中” if( “M” not in a) : print “M 不在变量 a 中” else : print “M 在变量 a 中” print r’\n’ print R’\n’
以上程序执行结果为:
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
Python字符串运算符:
+ :连接左右两端的字符串。
*** :重复输出字符串。**
[ ] :通过索引获取字符串中的值。
[start:stop:step]:开始,结束位置的后一个位置,步长。
in :判断左端的字符是否在右面的序列中。**
not in:判断左端的字符是否不在右面的序列中。
r/R :在字符串开头使用,使转义字符失效。
# 字符串使用 + 号
strs = "hello " + "world."
print(strs)
# hello world.
# 字符串使用 * 号
strs = 'abc '
# 无论数字在哪一端都可以
print(3*strs)
# abc abc abc
print(strs * 3)
# abc abc abc
# 使用索引下标
strs = "hello world."
print(strs[4])
# o
print(strs[7])
# o
# 切片操作,左闭右开原则
strs = "hello world."
# 将字符串倒序输出
print(strs[::-1])
# .dlrow olleh
print(strs[-1::])
print(strs[2:-1])
print(strs[1:10:2]) # 表示从第二个字符开始截取,间隔2个字符取一个 #输出结果:oda o # 自己尝试一下索引为负数的
print(strs[6:11:])
# world
strs = "ABCDEFG"
print("D" in strs)
# True
print("L" in strs)
# False
print("D" not in strs)
# False
print("L" not in strs)
# True
# 使用 r 使字符串中的转义字符失效
print('a\tb')
# a b
print(r'a\tb')
# a\tb
字符串函数后两页
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ve4bmqLZ-1598065057658)(assets/1595837797783.png)]
下面方法一有个错误
| string.swapcase() | 翻转 string 中的大小写 |
|---|---|
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hhAvIEwy-1598065057665)(assets/1595837831692.png)]
String.rjust()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5yaYJht2-1598065057667)(assets/1595838974613.png)]
描述
Python rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
语法
rjust()方法语法:
str.rjust(width[, fillchar])
参数
- width – 指定填充指定字符后中字符串的总长度.
- fillchar – 填充的字符,默认为空格。
返回值
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
实例
以下实例展示了rjust()函数的使用方法:
#!/usr/bin/python
str = "this is string example....wow!!!";
print (str.rjust(50, '0'))
以上实例输出结果如下:
000000000000000000this is string example....wow!!!
rstrip()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TROp5KTo-1598065057671)(assets/1595838990031.png)]
描述
Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格).
语法
rstrip()方法语法:
str.rstrip([chars])
参数
- chars – 指定删除的字符(默认为空格)
返回值
返回删除 string 字符串末尾的指定字符后生成的新字符串。
实例
以下实例展示了rstrip()函数的使用方法:
#!/usr/bin/python
str = " this is string example....wow!!! ";
print (str.rstrip())
str = "88888888this is string example....wow!!!8888888";
print (str.rstrip('8'))
以上实例输出结果如下:
this is string example....wow!!!
88888888this is string example....wow!!!
split()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wIcldjxo-1598065057678)(assets/1595839009048.png)]
描述
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
- str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num – 分割次数。默认为 -1, 即分隔所有。
返回值
返回分割后的字符串列表。
实例
以下实例展示了 split() 函数的使用方法:
实例(Python 2.0+)
#!/usr/bin/python # -- coding: UTF-8 -- str = “Line1-abcdef \nLine2-abc \nLine4-abcd”; print str.split( ); # 以空格为分隔符,包含 \n print str.split(’ ', 1 ); # 以空格为分隔符,分隔成两个
以上实例输出结果如下:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
以下实例以 # 号为分隔符,指定第二个参数为 1,返回两个参数列表。
实例(Python 2.0+)
#!/usr/bin/python # -- coding: UTF-8 -- txt = “Google#Runoob#Taobao#Facebook” # 第二个参数为 1,返回两个参数列表 x = txt.split("#", 1) print x
以上实例输出结果如下:
['Google', 'Runoob#Taobao#Facebook']
startswith()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o44znNrp-1598065057680)(assets/1595839039908.png)]
描述
Python startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
语法
startswith()方法语法:
str.startswith(str, beg=0,end=len(string));
参数
- str – 检测的字符串。
- strbeg – 可选参数用于设置字符串检测的起始位置。
- strend – 可选参数用于设置字符串检测的结束位置。
返回值
如果检测到字符串则返回True,否则返回False。
实例
以下实例展示了startswith()函数的使用方法:
#!/usr/bin/python
str = "this is string example....wow!!!";
print (str.startswith( 'this' ))
print (str.startswith( 'is', 2, 4 ))
print (str.startswith( 'this', 2, 4 ))
以上实例输出结果如下:
True
True
False
strip()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tG0nWX4g-1598065057682)(assets/1595839093137.png)]
描述
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
**注意:**该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
语法
strip()方法语法:
str.strip([chars]);
参数
- chars – 移除字符串头尾指定的字符序列。
返回值
返回移除字符串头尾指定的字符生成的新字符串。
实例
以下实例展示了strip()函数的使用方法:
实例(Python 2.0+)
#!/usr/bin/python # -- coding: UTF-8 -- str = “00000003210Runoob01230000000”; print str.strip( ‘0’ ); # 去除首尾字符 0 str2 = " Runoob "; # 去除首尾空格 print str2.strip();
以上实例输出结果如下:
3210Runoob0123
Runoob
从结果上看,可以注意到中间部分的字符并未删除。
以上下例演示了只要头尾包含有指定字符序列中的字符就删除:
实例
#!/usr/bin/python # -- coding: UTF-8 -- str = “123abcrunoob321” print (str.strip( ‘12’ )) # 字符序列为 12
以上实例输出结果如下:
3abcrunoob3
swapcase()方法
Python swapcase() 方法用于对字符串的大小写字母进行转换。
语法
swapcase()方法语法:
str.swapcase();
参数
- NA。
返回值
返回大小写字母转换后生成的新字符串。
实例
以下实例展示了swapcase()函数的使用方法:
实例
#!/usr/bin/python str = “this is string example…wow!!!”; print str.swapcase(); str = “THIS IS STRING EXAMPLE…WOW!!!”; print str.swapcase();
以上实例输出结果如下:
THIS IS STRING EXAMPLE....WOW!!!
this is string example....wow!!!
title()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2vN1VesU-1598065057689)(assets/1595839181761.png)]
描述
Python title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())。
语法
title()方法语法:
str.title();
参数
- NA。
返回值
返回"标题化"的字符串,就是说所有单词都是以大写开始。
实例
以下实例展示了 title()函数的使用方法:
#!/usr/bin/python
str = "this is string example....wow!!!";
print (str.title())
以上实例输出结果如下:
This Is String Example....Wow!!!
translate()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DRzfbHad-1598065057692)(assets/1595839236077.png)]
描述
Python translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。
语法
translate()方法语法:
str.translate(table[, deletechars]);
参数
- table – 翻译表,翻译表是通过maketrans方法转换而来。
- deletechars – 字符串中要过滤的字符列表。
返回值
返回翻译后的字符串。
实例
以下实例展示了 translate()函数的使用方法:
实例(Python 2.0+)
#!/usr/bin/python from string import maketrans # 引用 maketrans 函数。 intab = “aeiou” outtab = “12345” trantab = maketrans(intab, outtab) str = “this is string example…wow!!!”; print str.translate(trantab);
以上实例输出结果如下:
th3s 3s str3ng 2x1mpl2....w4w!!!
以上实例去除字符串中的 ‘x’ 和 ‘m’ 字符:
实例(Python 2.0+)代码
#!/usr/bin/python
from string import maketrans # Required to call maketrans function.
intab = “aeiou”
outtab = “12345”
trantab = maketrans(intab, outtab)
str = “this is string example…wow!!!”;
print str.translate(trantab, ‘xm’);
以上实例输出结果:
th3s 3s str3ng 21pl2....w4w!!!
upper()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1t1xcAat-1598065057693)(assets/1595839267502.png)]
描述
Python upper() 方法将字符串中的小写字母转为大写字母。
语法
upper()方法语法:
str.upper()
参数
- NA。
返回值
返回小写字母转为大写字母的字符串。
实例
以下实例展示了 upper()函数的使用方法:
#!/usr/bin/python
str = "this is string example....wow!!!";
print ("str.upper() : ", str.upper())
以上实例输出结果如下:
str.upper() : THIS IS STRING EXAMPLE....WOW!!!
isdecimal()方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fQum0Ji2-1598065057695)(assets/1595839291737.png)]
描述
Python isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
**注意:**定义一个十进制字符串,只需要在字符串前添加 ‘u’ 前缀即可。
语法
isdecimal()方法语法:
str.isdecimal()
参数
- 无
返回值
如果字符串是否只包含十进制字符返回True,否则返回False。
实例
以下实例展示了 isdecimal()函数的使用方法:
#!/usr/bin/python
str = u"this2009";
print (str.isdecimal())
str = u"23443434";
print (str.isdecimal())
以上实例输出结果如下:
False
True