python 字符串 字符串处理
索引
s = strings print (s[1]) -->> "s"
切片截取(顾头不顾尾)
s[0:6] --> string s[0:6:2] --> srn #2为步长,默认为1 反向取值 s[-1:-3:-1] --> gn #必须指定反向步长 s[:-1] --> string #不写,默认起始处为最开始
常见方法
capitalize() #首字母大写,其他字母小写 upper() #全部大写 lower() #全部小写 swapcase() #大小写反转 title() #非字母的元素隔开的每个单词首字母大写 s = 'kobe james*wade3paul' print(s.title()) center #居中,长度自己设定,默认填充物None s = "kobe" s6 = s.center(30) #设定字符串长度为30,kobe为中心,其他位置默认为空格填充 s6 = s.center(30,"*") #可以指定填充字符为“*” startswith #判断字符串以什么开头,返回True/False endwith #判断字符串以什么结尾,返回True/False print(s.startwith('k',0,5)) #支持字符串截取,截取的字符串判断是否以“k”开头 strip #去除首尾的空格,制表符 ,换行符,也可以指定要去除的字符 s = "etkobeyeot" s8 = s.strip('tey') print(s8) --> "kobeyeo" #去掉字符串s 首尾的t、y、e 字符,由于尾部的ye被o阻隔所以无法去除 lstrip() rstrip() #取出左边,去除右边 split (str ---> list) #字符串分割生成列表 s = 'kobe,james,wade3paul' print(s.split(',',1)) --> ['kobe', 'james,wade3paul'] #以逗号为分隔符,分割1次,默认全部分割 join 将字符串或列表元素以指定字符连接在一起,若果列表连接生成字符串 s = 'kobe,james,wade3paul' l = ['kobe','james','wade','paul'] s100 = '_'.join(s) --> k_o_b_e_,_j_a_m_e_s_,_w_a_d_e_3_p_a_u_l s200 = '_'.join(l) --> kobe_james_wade_paul replace #替换字符串中指定的字符,可以限制替换次数,默认全部替换 s = "kobe tell us why kobe is kobe" s1=s.replace('kobe','james',1) --> "james tell us why kobe is kobe" find #查找字符串中指定字符对应的索引,查找到第一个后就停止查找,如果没有返回-1 index #查找字符串中指定字符对应的索引,查找到第一个后就停止查找,如果没有报错
判断字符串是否由字母/数字组成
isalnum() #字符串由字母或数字组成 isalpha() #字符串只由字母组成 isdigit() #字符串只由数字组成 print(s.isalnum()) --> True
公共方法
len #统计字符串的字符个数 s = 'fdsafsdagsdafjdskahdhjlsadhfkj' print(len(s)) count #统计指定字符出现的次数,可以截取字符串 s = 'asdffdgfdsggha' print(count(‘a’))
格式化输出 format
res='我叫{}今年{}岁,爱好{}'.format('kobe',18,'baskeytball') res='我叫{0}今年{1}岁,爱好{2},我依然叫{0}'.format('egon',18,'basketball') res='我叫{name}今年{age},爱好{hobby}'.format(hobby='basketball', name='egon', age=18)