codewar_Dubstep(指定字符串替换问题)

要求:

  • 给定一个字符串,将给定字符串中的
    ‘WUB’ 全部变成 ‘ ’
  • 字符串最后不要有空格

示例:
Input:“WUBWEWUBAREWUBWUBTHEWUBCHAMPIONSWUBMYWUBFRIENDWUB”
Output: “WE ARE THE CHAMPIONS MY FRIEND”

想法及学习:

  • 改变有两种方法,一种是_遍历字符串,把符合的放进一个新的数组_,显然比较蠢,不过我一开始就是这样想的qaq,果然还差的远呢
def song_decoder(song):
	res = []
	data_new = song.split('WUB')
	for item in data_new:
	    if item != '':
	        res.append(item)
	        res.append(' ')
	# 删除最后的空格
	if res[len(res)-1] == ' ':
	    del res[-1]
	    print(res)
	new = ''.join(res)
  • 还有一种就是直接替换
def song_decoder(song):
    return " ".join(song.replace('WUB', ' ').split())

利用正则表达式

def song_decoder(song):
    import re
    return re.sub('(WUB)+', ' ', song).strip()

一些点:

  • 删除元素的方法
	del arr[i]
	# i是索引号,数组的组后一个元素的索引号为 -1 

python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列

	str.strip([chars]);
  • 把数组转成字符串的方法

    join(): 连接字符串数组。
    将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

  • 正则表达式的运用
    附上别人写的博客的链接
    oython re库函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值