以下主要是针对Python3中对去除字符串两侧指定内容、字符串查询、字符串中字符的计数的示例。
Python3去除字符串两侧指定内容
字符串去除两侧指定内容的方法有三种:
strip(chars) :去除字符串两侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串两侧所有空格。
lstrip(chars) :去除字符串左侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串左侧所有空格。
rstrip(chars) :去除字符串右侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串右侧所有空格。
大家可以尝试运行下方这段代码:
str1 = ' 人人为我 我为人人 '
str2 = '人人为我 我为人人'
print (str1)
print (str1.strip())
print (str1.lstrip())
print (str1.rstrip())
print (str2.strip('人'))
print (str2.lstrip('人'))
print (str2.rstrip('人'))
print (str2.strip('人人为'))
运行代码之后,显示的结果为:
Python3字符串查询
字符串查询的方法有两种:
第一种:index(sub,start,end)和rindex(sub,start,end)
index方法是从左至右查询,rindex方法是从右至左查询;
参数sub是指被查询的字符或字符串,参数start是查询的起始位置,参数end是查询的终止位置(终止位置不在查询范围内);
参数start和参数end可以同时省略,这时为查询字符串中全部字符;也可以只省略参数end,表示查询范围为起始位置至末尾。
大家可以尝试运行下方这段代码:
s = '人人为我,我为人人。'
print (s.index('人')) # 从左向右查询全部字符
print (s.index('人',2)) # 从左侧第3个字符开始向右查询至末尾
print (s.rindex('人')) # 从右向左查询全部字符
print (s.rindex('人',0,8)) # 从右侧第9个字符之前向左查询至首位
运行代码之后,显示的结果为:
第二种:find(sub,start,end)和rfind(sub,start,end)
这两个函数和index函数以及rindex函数作用相同,并且用法相同。
但是,当没有查询结果时,index函数与rindex函数会提示错误:ValueError:substring not find(值错误:未发现被查询的字符串)。
而另外的两个函数,find函数和rfind函数,在没有查询结果时,返回值为-1。
大家可以尝试运行下方这段代码:
s = '人人为我,我为人人。'
print (s.find('地'))
print (s.index('地'))
运行代码之后,显示的结果为:
Python3字符串中字符的计数
字符串的计数方法是count(x,start,end),这个函数可以统计字符串中被查询的字符或字符串出现的次数。
参数x是指被查询的字符或字符串,参数start是查询的起始位置,参数end是查询的终止位置(终止位置不在查询范围内);
参数start和参数end可以同时省略,这时为查询字符串中全部字符;也可以只省略参数end,表示查询范围为起始位置至末尾。
大家可以尝试运行下方这段代码:
s = '人人为我,我为人人。'
print (s.count('人')) # 计算字符串中被查询字符或字符串出现的次数
print (s.count('人人')) # 计算字符串中被查询字符或字符串出现的次数
print (s.count('人',0,8)) # 计算从字符串首位到第9个字符(不含第9个字符)之间被查询字符或字符串出现的次数
运行代码之后,显示的结果为: