在Python中反转一个字符串,但不要反转字母数字

时间:2015-10-26 10:08:55

标签: python

我想要一个字符串,但不是字母数字字符和空格。我们如何才能实现它?

input : "This is Testing! The email-id is testing@my.com"
output : "sihT si gnitseT! ehT di-liame si gnitset@ym.moc"

如何在没有重新实现的情况下实现它?

2 个答案:

答案 0 :(得分:10)

通过re.sub

>>> import re
>>> s = "This is Testing! The email is testing@my.com"
>>> re.sub(r'\w+', lambda m: m.group()[::-1], s)
'sihT si gnitseT! ehT liame si gnitset@ym.moc'

我们都知道\w+匹配一个或多个单词字符。请注意,我们还使用匿名函数作为re.sub函数中的第二个参数,这反过来有助于对匹配的字符执行字符串操作。

答案 1 :(得分:-2)

text = "This is Testing! The email-id is testing@my.com"
reversed_text = " ".join(text[::-1].split()[::-1])

' sihT si!gnitseT ehT di-liame si moc.ym@gnitset'