索引
In [1]: s = 'hello'
In [2]: print(s[0])
h
In [3]: print(s[1])
e
切片
In [4]: s = 'hello'
In [5]: print(s[0:3]) 显示下标0到下标3的字符
hel
In [10]: print(s[0:4:2]) (start:end:step)
hl
In [6]: print(s[-1]) 显示倒数第一个字符
o
In [11]: print(s[:2]) 显示前两位字符
he
In [7]: print(s[:-1]) 显示倒数第一个之前的所有字符
hell
In [8]: print(s[::-1]) 倒序输出
olleh
In [14]: print(s[1:]) 显示第一个字符除外的其他字符
ello
In [15]: print(s[:]) 显示所有字符
hello
重复
In [16]: print(s *3)
hellohellohello
连接
In [17]: print(s+'world')
helloworld
成员操作符
In [18]: s='hello'
In [19]: print('h' in s)
True
练习一:
"""
回文数
"""
a = (input('请输入一个数字'))
b = (a[::-1]) ##只能使用字符串类型
if a == b:
print('%s是回文数' % a)
else:
print('%s不是回文数' % a)
"""
判断字符串中的元素
"""
s = '1234hoU'
print(s.isdigit()) 字符串s是否是数字类型
print(s.isalpha()) 字符串s是否是字母组成
print(s.isalnum()) 字符串s是否时数字或字母组成
print(s.islower()) 字符串s是否有小写字母,没有大写字母
print(s.isupper()) 字符串s是否有大写字母,没有小写字母
print(s.istitle()) 是否只有首字母大写
"""
判断文件类型(判断字符串以什么结尾)
"""
filename=input('请输入文件名')
if filename.endswith('.log'): #如果文件以.log结尾
print('yes')
else:
print('no')
"""
判断以什么开头
"""
url=input('输入:')
if url.startswith('http'):
print('ok')
else:
print('no')
去除空格
In [21]: s = ' ho '
In [22]: s.strip() 去除空格
Out[22]: 'ho'
In [23]: s.rstrip() 去除右边空格
Out[23]: ' ho'
In [24]: s.lstrip() 去除左边空格
Out[24]: 'ho '
In [25]: s.rlstrip()
去除置表符和换行符
s = '\nhello\t\t'
print(s)
print(s.strip()) 执行结果图中的第一个hello上有一行是因为换行,右边还有一格,是因为置表符;第二个hello只有hello字符。
去除左右字符
In [38]: s = 'ahelloa'
In [40]: s.strip('a') 去除a字符,如果左右都有同时去除
Out[40]: 'hello'
In [41]: s.lstrip('ah') 去除左边字符a
Out[41]: 'elloa'
In [42]: s.rstrip('a') 去除右边字符a
Out[42]: 'ahello'
字符串的搜索与替换
s = 'hello world hello'
print(s.find('hello')) #find找到子串,并返回最小的索引
print(s.find('world'))
print(s.rfind('hello')) #rfind找到子串,并返回最大索引
print(s.replace('hello','23')) #替换字符
字符串对齐
print('学生管理系统'.center(30))
print('学生管理系统'.center(30,'*'))
print('学生管理系统'.ljust(30,'*'))
print('学生管理系统'.rjust(30,'*'))
print('学生管理系统'.rjust(30,'@'))
字符串的统计
print('hello'.count('l'))
print('hello'.count('ll'))
print(len('hello'))
字符串的分离与连接
1)分离
s = '172.25.254.250'
print(s.split('.'))
练习一:
"""
判断变量是否合法
"""
while True:
s = input('请输入字符(q退出):')
if s == 'q':
exit()
if s[0].isalpha() or s[0] == '_':
for i in s[1:]:
if i.isalnum() or i == '_':
continue
else:
print('不合法')
break
else:
print('合法')
else:
print('不合法')
练习二:
"""
判断出勤,A代表缺勤,L代表迟到,P代表到。
出现不大于一次A,并不超过两次L,会奖励
"""
方法一:
s = input('请输入出勤情况')
if s.count('A') <= 1 and s.count('LLL') == 0:
print('奖励')
else:
print('不合格')
方法二:
s = input('请输入出勤情况')
print(s.count('A') <= 1 and s.count('LLL') == 0)
"""
给定一个句子(只包含字母和空格),将句子中的单词位置反转
如:I like world --> world like I
输入描述:
对于每个测试示例,每组站一行,包含一个句子
输出句子中单词反转后形成的句子
"""
方法一:
s = input('输入:')
s1 = s.split(' ')
print(' '.join(s1[::-1]))
方法二:
print(' '.join(input('输入:').split(' ')[::-1]))
"""
输入两个字符串,从第一个字符串中删除第二个字符串中所有字符。
例如:输入"abcde"和"be"
字符串变为“acd”
"""
s1 = input('请输入第一个字符串')
s2 = input('请输入第二个字符串')
for i in s1:
for i in s2:
s1 = s1.replace(i, '') ##替换函数
print(s1)