python之字符转换

 

任务描述

在字符串处理中经常需要统计字符串的长度,进行大小写转换以及去除字符串前后空格等操作。

例如,在基于关键词的搜索引擎中,要查询关键词是否在文档或者网页中出现,搜索引擎并不需要区分关键词中字符的大小写以及关键词前后的空格等。这个问题中,需要对字符串进行处理,将其中的大写字符都转换为小写,并剔除字符串开头和结尾处的空格,然后在统一进行字符串匹配。

本关任务是对给定的字符串进行处理,包括字符串长度计算、大小写转换以及去除字符串前后空格等。

本关必读

Python标准库提供了一系列关于字符串处理的函数。本关的小目标是让读者学习并掌握Python常用字符串方法中的len()lower()strip()函数的用法并完成相应字符串处理任务。

字符串长度获取

Python提供了len()函数来计算并返回字符串的长度,即字符串中单个元素的个数。其基本语法如下:

  1. length = len(target_string)

其中,

  • target_string: 目标字符串变量
  • length: 保存字符串长度的变量
  • len: 获取字符串长度的语法关键词

下面给出了具体的使用示例:

  1. # coding=utf-8
  2.  
  3. # 创建一个字符串变量,获取其长度并打印出来
  4. color = 'It is red'
  5. length = len(color)
  6. print (length)
  7.  
  8. #直接在len函数中引入字符串内容获得其长度,然后打印出来
  9. print(len('This is a circle!'))

输出结果:
9
17

  • 注意: 从输出结果可以看到,空格也占一个字符元素的位置。

大小写转换

Python提供了upper()lower()方法来对字符串进行大小写转换。其中,upper()会将字符串中的所有字符都转换为大写,lower()则将所有字符转换为小写。

除此之外,Python还贴心的提供了title()方法将字符串所有单词的首字母变成大写,而其他字母依然小写。

各个方法的具体语法如下:

  1. # 将源字符串转换为大写并存入upper_string变量
  2. upper_string = source_string.upper()
  3.  
  4. # 将源字符串转换为小写并存入lower_string变量
  5. lower_string = source_string.lower()
  6.  
  7. # 将源字符串每个词首字母转换为大写并存入title_string变量
  8. title_string = source_string.title()

其中,

  • source_string:待处理的源字符串

具体使用示例如下:

  1. # coding=utf-8
  2.  
  3. # 创建一个字符串say_hello
  4. say_hello = 'Dear my Daughter'
  5.  
  6. # 使用upper()方法对say_hello字符串进行处理
  7. upper_say_hello = say_hello.upper()
  8.  
  9. # 使用lower()方法对say_hello字符串进行处理
  10. lower_say_hello = say_hello.lower()
  11.  
  12. # 使用title()方法对say_hello字符串进行处理
  13. title_say_hello = say_hello.title()
  14.  
  15. # 打印输出四个字符串
  16. print (say_hello+"\n")
  17. print (upper_say_hello+"\n")
  18. print (lower_say_hello+"\n")
  19. print (title_say_hello+"\n")

输出结果:

  • 注意: 由上述打印结果可以看出,上述方法的调用并不会对原始的say_hello字符串产生影响,转换后的字符串会存入新的变量中.

去除字符串首尾空格

Python提供了strip()方法,可以去除字符串两侧(不包含内部)全部的空格;使用该方法,也可以通过指定参数,去除两侧指定的特定字符

  • 注意:在指定参数时,如果参数是多个字符,则该方法会将多个字符逐个去比对进行删除(区分大小写),直到首尾两侧没有匹配的字符为止。但是,该方法对字符串中间的字符没有影响。

其基本语法如下:

  1. strip_string1 = source_string.strip()
  2. string_strip2 = source_string.strip(target_char)

其中,

  • source_string:待处理的源字符串
  • strip_string1strip_string2:处理后的字符串
  • target_char:需要从源字符串首尾去除的特定字符

具体使用示例如下:

  1. # coding = utf-8
  2.  
  3. # 创建一个字符串hello_world
  4. hello_world = ' **The world ** is big!* '
  5.  
  6. # 利用strip()方法处理hello_world字符串
  7. blank_hello_world = hello_world.strip()
  8. char_hello_world = hello_world.strip('TH *')
  9.  
  10. # 打印输出转换后的字符串
  11. print(blank_hello_world)
  12. print(char_hello_world)

输出结果:

**The world ** is big!*
he world ** is big!

输出结果分析:

  • 从第一行打印结果可以看到, strip()方法去除了源字符串首尾的所有空格,但是并没有去除字符串中间的空格
  • 从第二行打印结构可以看出,strip()方法将源字符串首尾所有空格*以及字符T去掉了。而源字符串中头部的h因为是小写并没有去除

编程要求

本关的编程任务是补全src/Step2/method1.py文件的代码内容,实现给定字符串的转换功能,具体要求如下:

  • step1: 将输入的源字符串source_string首尾的空格删除
  • step2: 将step1处理后的字符串的所有单词的首字母变为大写,并打印输出;
  • step3: 将step2转换后的字符串的长度打印输出出来

测试说明

本关的测试文件是src/Step2/method1.py,测试过程如下

  1. 读者将src/Step2/method1.py中的代码补充完毕,然后点击评测,平台自动编译运行method1.py,并以标准输入方式提供测评输入;
  2. 平台获取程序的输出,然后将其与预期输出对比,如果一致则测试通过;否则测试失败。

以下是平台对src/Step2/method1.py的样例测试集,其中^代表一个空格:

测试输入:
^^^yesteday once more^
预期输出:
Yesteday Once More
18

测试输入:
^^It made me smile^^^^^
预期输出:
It Made Me Smile
16

#coding=utf-8

# 获取待处理的源字符串
source_string = input()

# 请在下面添加字符串转换的代码
###### Begin ######

source_string = source_string.strip()
print(source_string.title())
print(len(source_string.title()))


####### End #######

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值