字符转换
- 对给定的字符串进行处理,包括字符串长度计算、大小写转换以及去除字符串前后空格等。
- 在字符串处理中,经常需要统计字符串的长度、进行大小写转换以及去除字符串前后空格等操作。例如,在基于关键词的搜索引擎中,要查询关键词是否在文档或者网页中出现,搜索引擎并不需要区分关键词中字符的大小写以及关键词前后的空格等。这时就需要对字符串进行处理,将其中的大写字符都转换为小写,并剔除字符串开头和结尾处的空格,然后再统一进行字符串匹配。
相关知识
- Python 标准库提供了一系列关于字符串处理的函数。本关的小目标是让大家学习并掌握 Python
常用字符串方法中的 len()、lower() 和 strip() 函数的用法,并完成相应字符串处理任务。
字符串长度获取 Python 提供了
len()
函数来计算,并返回字符串的长度,即字符串中单个元素的个数。其基本语法如下:
length = len(target_string)
其中:
target_string: 目标字符串变量;
length: 保存字符串长度的变量;
len: 获取字符串长度的语法关键词。
- 下面给出了具体的使用示例:
#coding=utf-8
# 创建一个字符串变量,获取其长度并打印出来
color = 'It is red'
length = len(color)
print (length)
直接在
len
函数中引入字符串内容获得其长度,然后打印出来
print(len('This is a circle!'))
输出结果:
9
17
注意: 从输出结果可以看到,空格也占一个字符元素的位置。
大小写转换
- Python
提供了 upper() 和 lower() 方法,来对字符串进行大小写转换。其中, upper() 会将字符串中的所有字符都转换为大写,lower() 则将所有字符转换为小写。
除此之外Python还贴心的提供了 title() 方法,将字符串所有单词的首字母变成大写,而其他字母依然小写。各个方法的具体语法如下:
将源字符串转换为大写并存入upper_string变量
upper_string = source_string.upper()
将源字符串转换为小写并存入lower_string变量
lower_string = source_string.lower()
将源字符串每个词首字母转换为大写并存入title_string变量
title_string = source_string.title()
其中,source_string为待处理的源字符串。具体使用示例如下:
#coding=utf-8
#创建一个字符串say_hello
say_hello = 'Dear my Daughter'
#使用upper()方法对say_hello字符串进行处理
upper_say_hello = say_hello.upper()
#使用lower()方法对say_hello字符串进行处理
lower_say_hello = say_hello.lower()
#使用title()方法对say_hello字符串进行处理
title_say_hello = say_hello.title()
#打印输出四个字符串
print (say_hello+"\n") #未处理的字符串
print (upper_say_hello+"\n") #将字符串全部转换成大写
print (lower_say_hello+"\n") #将字符串全部转换成小写
print (title_say_hello+"\n") #将字符串首字母转换成大写,其它字母小写
输出结果:
Dear my Daughter
DEAR MY DAUGHTER
dear my daughter
Dear My Daughter
注意: 由上述打印结果可以看出,上述方法的调用,并不会对原始的say_hello字符串产生影响,转换后的字符串会存入新的变量中。
去除字符串首尾空格
- Python
提供了 strip() 方法,可以去除字符串两侧(不包含内部)全部的空格。使用该方法,也可以通过指定参数,去除两侧指定的特定字符。 - 注意:在指定参数时,如果参数是多个字符,则该方法会将多个字符逐个去比对,进行删除(区分大小写),直到首尾两侧没有匹配的字符为止。但是,该方法对字符串中间的字符没有影响。
其基本语法如下:
strip_string1 = source_string.strip()
strip_string2 = source_string.strip(target_char)
其中:
source_string:待处理的源字符串;
strip_string1和strip_string2:处理后的字符串;
target_char:需要从源字符串首尾去除的特定字符。
具体使用示例如下:
#coding = utf-8
#创建一个字符串hello_world
hello_world = ' **The world ** is big!* '
#未处理的源字符串
blank_hello_world = hello_world.strip()
#利用strip()方法处理hello_world字符串
char_hello_world = hello_world.strip('TH *')
#打印输出转换后的字符串
print(blank_hello_world)
print(char_hello_world)
输出结果:
**The world ** is big!*
he world ** is big!
输出结果分析:
从第一行打印结果可以看到,strip() 方法去除了源字符串首尾的所有空格,但是并没有去除字符串中间的空格;
从第二行打印结构可以看出,strip() 方法将源字符串首尾所有空格、* 以及字符T去掉了,而源字符串中头部的h因为是小写并没有去除。
编程要求
- 实现给定字符串的转换功能,具体要求如下:
1.step1:将输入的源字符串source_string首尾的空格删除;
2.step2:将 step1 处理后的字符串的所有单词的首字母变为大写,并打印输出;
3.step3:将 step2 转换后的字符串的长度打印输出。
测试说明
测试输入:
Where there is a will,there is a way
预期输出:
Where There Is A Will,There Is A Way
36
源程序代码: