用段落中的下一个字符交换一个字符

时间:2015-06-09 16:45:10

标签: python regex algorithm function

我必须将段落中出现的特定字符换成下一个字符。

假设我的段落文本是:

我的名字是安德鲁。我非常沉迷于python并且对编程有很高的了解。

现在,我的任务是找到段落中的特定字符并将其与旁边的字符交换。就像,我想将每个字符'a'与其旁边的字符交换。在处理之后,我的段落应如下所示:

我的nmae是nadrew。我非常痴迷于python nad tatians非常高的知识baout progrmaming。

如果有人在python

中定义函数,我将非常感激

1 个答案:

答案 0 :(得分:0)

这样做:

>>> import re
>>>>regex = re.compile(r'(a)(\w)')
>>>>text = 'My name is andrew. I am very addicted to python and attains very high knowledge about programming.'
>>> regex.sub(lambda(m) : m.group(2) + m.group(1), text)
'My nmae is nadrew. I ma very dadicted to python nad tatians very high knowledge baout progrmaming.'

说明:

(a)(\w)

匹配a,并将其放在第1组,然后匹配放在第2组中的另一个单词字符。用于替换的Lambda表达式切换这两个组。

如果你想匹配除空格之外的所有东西:

(a)(\S)