Python 将段落中的一个字符与其下一个字符交换

Python 将段落中的一个字符与其下一个字符交换,python,regex,algorithm,function,Python,Regex,Algorithm,Function,我必须将段落中出现的特定字符替换为下一个字符。 假设我的段落文本为: 我叫安德鲁。我非常沉迷于python,对编程有很高的了解。 现在,我的任务是找到段落中的特定字符,并将其与旁边的字符交换。比如,我想将每个字符“a”与其旁边的字符交换。经过处理后,我的段落应如下所示: 我的nmae是nadrew。我非常喜欢python和tatians非常高的编程知识。 如果有人用python定义函数,我将不胜感激。这样就可以了: >>> import re >>>>r

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

假设我的段落文本为:

我叫安德鲁。我非常沉迷于python,对编程有很高的了解。

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

我的nmae是nadrew。我非常喜欢python和tatians非常高的编程知识。

如果有人用python定义函数,我将不胜感激。这样就可以了:

>>> 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)
这可以做到:

>>> 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)


如果出现双a怎么办?你试过什么?对不起,但这感觉更像是让别人帮你做这件事,而不是一个问题。是的,我已经试过了。。我已经提取了文本的位置。。使用for position,枚举(my_text)中的char:if char='a':打印positionso交换使用:temp=a[position]a[position+1]=a[position]a[position+1]=temp如果出现双“a”,会发生什么?您尝试了什么?对不起,但这感觉更像是让别人帮你做这件事,而不是一个问题。是的,我已经试过了。。我已经提取了文本的位置。。使用for position,枚举(my_text)中的char:if char='a':打印positionso交换使用:temp=a[position]a[position+1]=a[position]a[position+1]=temp如果出现双“a”,会发生什么?您尝试了什么?对不起,但这感觉更像是让别人帮你做这件事,而不是一个问题。是的,我已经试过了。。我已经提取了文本的位置。。在enumerate(my_text)中使用for position,char:if char='a':print positionso swapping方法是:temp=a[position]a[position+1]=a[position]a[position+1]=temp\w在正则表达式中的意思是什么?它相当于[a-zA-Z0-9],如果在“$,!,;,”等“a”之后出现特殊字符,我们可以使用什么如果要匹配除空格以外的所有内容,请为我使用\SWorks。谢谢你的回答,罗德里戈。在过去的两天里,我一直在为此努力。Regex让这变得更容易。再次感谢\w在Regex??word中的意思是什么,它相当于[a-zA-Z0-9_uuz],如果在“a”后面出现一些特殊字符,如$,!,;,%,我们可以使用什么如果要匹配除空格以外的所有内容,请为我使用\SWorks。谢谢你的回答,罗德里戈。在过去的两天里,我一直在为此努力。Regex让这变得更容易。再次感谢\w在Regex??word中的意思是什么,它相当于[a-zA-Z0-9_uuz],如果在“a”后面出现一些特殊字符,如$,!,;,%,我们可以使用什么如果要匹配除空格以外的所有内容,请为我使用\SWorks。谢谢你的回答,罗德里戈。在过去的两天里,我一直在为此努力。Regex让这变得更容易。再次感谢