python 字符串的查找与替换:字符串的处理

给定一个字符串,要利用 Python 提供的字符串处理方法,从该字符串中,查找特定的词汇,并将其替换为另外一个更合适的词。例如,给定一个字符串Where there are a will, there are a way,我们发现这句话中存在语法错误,其中are应该为is,需要通过字符串替换将其转换为Where there is a will, there is a way。  


在大家日常工作使用 Word 编写文档的过程中,经常会遇到一个问题,发现前面写的文档中某个词用错了,需要换为另外一个词来表达。Word 提供了全文查找与替换的功能,可以帮助用户很方便的处理这一问题。那么,这一功能最基础和核心的就是字符替换,如果我们要自己基于 Python 来实现,该怎么做呢?

相关知识
本关的小目标:学习并掌握 Python 中常用的字符串方法,包括字符串查找、字符串切分、字符串替换等。

字符串查找
Python 提供了内置的字符串查找方法find(),利用该方法可以在一个较长的字符串中查找子字符串。如果该字符串中,有一个或者多个子字符串,则该方法返回第一个子串所在位置的最左端索引,若没有找到符合条件的子串,则返回-1。find()方法的基本使用语法如下:

source_string.find(sub_string)  
其中:  

source_string:源字符串;

sub_string:待查的目标子字符串;

find:字符串查找方法的语法关键字。

例如,在一个字符串中,查找两个单词的位置:

# coding=utf-8
# 创建一个字符串  
source_string = 'The past is gone and static'
# 查看"past"在source_string字符串中的位置  
print(source_string.find('past'))
# 查看"love"在source_string字符串中的位置  
print(source_string.find('love'))  
输出结果:  

4  
-1  
字符串替换
Python 提供了replace()方法,用以替换给定字符串中的子串。其基本使用语法如下:

source_string.replace(old_string, new_string)  
其中:

source_string:待处理的源字符串;

old_string:被替换的旧字符串;

new_string:替换的新字符串;

replace:字符串替换方法的语法关键词。

例如,在如下字符串中,用small子串替换big子串:

# coding = utf-8
# 创建一个字符串circle  
source_string = 'The world is big'
# 利用replace()方法用子串"small"代替子串"big"  
print(source_string.replace('big','small'))  
输出结果:  

The world is small  
字符串分割
Python 提供了split()方法实现字符串分割。该方法根据提供的分隔符,将一个字符串分割为字符列表,如果不提供分隔符,则程序会默认把空格(制表、换行等)作为分隔符。其基本使用语法如下:

source_string.split(separator)  
其中:

source_string:待处理的源字符串;

separator:分隔符;

split:字符串分割方法的关键词。

例如,用+、/还有空格作为分隔符,分割字符串:

# coding = utf-8
# 待处理字符串source_string  
source_string = '1+2+3+4+5'
# 利用split()方法,按照`+`和`/`对source_string字符串进行分割  
print(source_string.split('+'))  
print(source_string.split('/'))  
输出结果:

['1', '2', '3', '4', '5']  
['1+2+3+4+5']  
编程要求
实现如下功能:

step1 :查找输入字符串source_string中,是否存在day这个子字符串,并打印输出查找结果;

step2 :对输入字符串source_string执行字符替换操作,将其中所有的 day替换为time,并打印输出替换后的字符串;

step3 :对 step2 进行替换操作后的新字符串,按照空格进行分割,并打印输出分割后的字符列表。

输入:All day is no day when it is past.代码如下:

  1. source_string = input()
  2. print(source_string.find('day'))
  3. new_string =source_string.replace('day','time')
  4. print(new_string)
  5. print(new_string.split(' '))

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值