当前位置:  开发笔记 > 编程语言 > 正文

如何在字符串中进行条件字符替换

如何解决《如何在字符串中进行条件字符替换》经验,为你挑选了1个好方法。

我在Python中有一个unicode字符串,基本上需要逐个字符地完成,并根据规则列表替换某些字符串.其中一条规则是将a其改为öif an.此外,如果一行中有两个元音字符,它们将被一个元音字符替换:.所以,如果我有字符串"natarook",最简单,最有效的方法是"nötaro:k"什么?如果重要的话,使用Python 2.6和CherryPy 3.1.

编辑:连续两个元音的意思是相同的元音(oo,aa,ii)



1> Shane Hollow..:
# -*- coding: utf-8 -*-

def subpairs(s, prefix, suffix):
    def sub(i, sentinal=object()):
        r = prefix.get(s[i:i+2], sentinal)
        if r is not sentinal: return r

        r = suffix.get(s[i-1:i+1], sentinal)
        if r is not sentinal: return r
        return s[i]

    s = '\0'+s+'\0'
    return ''.join(sub(i) for i in xrange(1,len(s)))

vowels = [(v+v, u':') for v in 'aeiou']

prefix = {}
suffix = {'na':u'ö'}
suffix.update(vowels)
print subpairs('natarook', prefix, suffix)
# prints: nötaro:k

prefix = {'na':u'ö'}
suffix = dict(vowels)
print subpairs('natarook', prefix, suffix)
# prints: öataro:k

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有