- 基本的字符串操作:索引(不支持通过下标的方式赋值)、切片、复制、连接、判断字串
str = 'Runoob'
print (str[0]) # 输出字符串第一个字符1
print (str[2:5]) # 输出从第三个开始到第五个的字符2
print (str[2:]) # 输出从第三个开始的后的所有字符3
print(str[:-1]) #输出第一个到倒数第二个的所有字符(同6)4
print (str) # 输出字符串5
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符6
print()
print (str * 2) # 输出字符串两次,也可以写成 print (2 * str)7
print (str + "TEST") # 连接字符串8
print('R' in str) #判断字符串'R'是否str的字串,此处结果返回True
print('oo' in str) #判断字符串'oo'是否str的字串,此处结果返回True
str = 'Runoob'
# [start:end:step]
print(str[::1])#输出:Runoob
print(str[::2])#输出:Rno
print(str[::-1])#输出:boonuR
print(str[::-2])#输出:bou
print(str[2::1])#输出:noob
print(str[2::2])#输出:no
print(str[2::-1])#输出:nuR
print(str[2::-2])#输出:nR
print(str[:2:-1])#输出:boo
print(str[:2:-2])#输出:bo
print(str[1:-1:1])#输出:unoo
print(str[1:-1:2])#输出:uo
print(str[1:-1:-1])#输出:无/原因未知
print(str[1:-1:-2])#输出:无/原因未知
#1. step 的 +/- 代表 从前往后/从后往前
#2. 当 step 为 + ,从左往右索引,start 默认为:0,end 默认为:len(str)+1;当 step 为 - ,从右往左索引,start 默认为:-1,end默认为:-(len(str)+1);
#3. 当 step 为 - ,且 start 和 end 同时指定参数时,无输出。
#4. 初步猜测可能字符串可能是一个 "环形操作"。
图片.png
#字符串变量和字符串常量
str=input()
if str[0:3]=="RMB":
print("USD{:.2f}".format(float(str[3:])/6.78))
if str[0:3]=="USD":
print("RMB{:.2f}".format(float(str[3:]) * 6.78))
#字符串变量和字符串变量
str1="123"
str2="456"
str3="123"
if str1==str2:
print("str1和str2相同")
elif str1==str3:
print("str1和str3相同")
#输出结果:str1和str3相同
template = "零一二三四五六七八九"
s = input()
for c in s:
print(template[eval(c)], end="")
- 字符串处理函数
len(x):返回字符串x的长度,也可以返回其它组合数据类型元素个数
str(x):返回任意类型x所对应的字符串形式
chr(x):返回Unicode编码对应的单字符
ord(x):返回单字符表示的Unicode编码
s = 'Runoob'
n=3
m=3.14
print(len(s))
print(str(n)+str(m))
str=input()
for c in str:
if ord('a') <= ord(c) <= ord('z'):
print(chr(ord('a')+(ord(c)-ord('a')+3)%26),end='')
else:
print(c,end='')
- 字符串处理方法
str.lower():返回字符串str的副本,全部字符小写
str.upper():返回字符串的副本,全部字符大写
str.islower():当str所以字符串都是小写时,返回true,否则返回false
str.isnumeric():当str所以字符都是数字时,返回true,否则,返回false
str.format():返回字符串str的一种排版格式。
s="Python String"
print(s.upper())#输出:PYTHON STRING
print(s.lower())#输出:python string
print(s.find('i'))#输出:10
print(s.replace('ing','gni'))#输出:Python Strgni
print(s.split(' '))#输出:['Python', 'String']
- python中字符串是定义为常量(C语言中是字符数组,C语言中的字符数组对应的是python中的列表),不支持通过下标的方式赋值。
>>> text='python'
>>> text[2] = 'j'
Traceback (most recent call last):
File "<pyshell#128>", line 1, in <module>
text[2] = 'j'
TypeError: 'str' object does not support item assignment
- 但是可以通过下标的方式,使用加号 + 操作符拼接出一个新字符串。
>>> text[2] + 'j'
'tj'
>>> text[:2] + 'py'
'pypy'
网友评论