1.去空格及特殊符号:
s = ' How are you!'
print(s.strip()) # 去除字符串两边的空格
print(s.lstrip(' How ')) # 从字符串左边去掉‘ How ’,若字符串左边不是以‘ How ’开头,则无效
print(s.rstrip('!')) # 从字符串右边去掉‘!’,若字符串右边不是以‘!’结尾,则无效
*******
输出结果:
How are you!
are you!
How are you
2.连接字符串:
s1='abc'
s2='def'
s3=s1+s2
print(s3)
3.判断字符串是否属于另一个字符串子集
s1 = 'How are you!'
s2 = 'you'
s_index=s1.index(s2) # 获取s2在s1中的位置,若s_index<0则s1不包含s2
print(s_index)
print(s2 in s1) #若s1包含s2则返回True,否则返回False
*****
输出结果:
8
True
4.比较字符串
import operator
s1 = 'How are you'
s2 = 'How old are you'
print(operator.eq(s1,s2)) # 比较两个字符串,等同于s1==s2,若相等返回True否则返回False
print(operator.lt(s1,s2)) # 等同于s1<s2
print(operator.le(s1,s2)) # 等同于s1≤s2
print(operator.ne(s1,s2)) # 等同于s1!=s2
print(operator.gt(s1,s2)) # 等同于s1>s2
print(operator.ge(s1,s2)) # 等同于s1≥s2
*****
输出结果:
False
True
True
True
False
False
5.字符串中大小写转换
s1='AbCdEfG'
print(s1.upper()) # 全部字符转为大写
print(s1.lower()) # 全部字符转为小写
*****
输出结果:
ABCDEFG
abcdefg
6.反转字符串:
s1='abcdefg'
print(s1[::-1]) # 翻转字符串
*****
输出结果:
gfedcba
7.查找字符串
s1= 'how old are you'
s2 = 'old'
print(s1.find(s2)) # 从s1中找到s2的位置,若不存在返回-1
*****
输出结果:
4
8.分割字符串
s1='apple,banana,orange,pear'
s_list=s1.split(',') # 将字符串按照,拆分为一个字符列表
s2=s1[s1.find(','):] # 从第一个,处开始截取字符串
print(s_list)
print(s2)
*****
输出结果:
['apple', 'banana', 'orange', 'pear']
,banana,orange,pear
9.计算字符串中出现频次最多的符号
# 方法一
import re
from collections import Counter
def Get_max_value_l(text):
text = text.lower() # 将所有字符转为小写
result = re.findall('[a-z]',text) #获取字符串中所有字母
count=Counter(result) # 查询所有字母的个数
count_list = list(count.values())
max_value=max(count_list)
max_list=[]
for k,v in count.items:
if v==max_value:
max_list.append(k)
max_list=sorted(max_list)
return max_list[0]
# 方法二
from collections import Counter
def get_max_value_2(text):
count = Counter([x for x in text.lower() if x.isalpha()])
m = max(count.values())
return sorted([x for (x,y) in count.items() if y == m])[0]
# 方法三
import string
def get_max_value_3(text):
text = text.lower()
return max(string.ascii_lowercase,key=text.count)
10.max函数的用法
max(renge(100),key = lambda x:x>50) # 使用key值导入拉姆达表达式,规定在0-99的数列中,返回大于50的数中得第一个
max('as','bd',key = lambda x : x[1]) # 使用key值导入兰姆达表达式,将字符串的第二个字符进行对比,返回第二个字符比较大的字符串
max('qwertyuiopasdfghjklzxcvbnm',key='how are you'.count) # 使用key值导入兰姆达表达式,返回'how are you'中出现次数最多的字符