码迷,mamicode.com
首页 > 其他好文 > 详细

字符串反转

时间:2018-12-27 20:18:53      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:替换   print   示例   需要   列表   面试   子串   字符串   str1   

  笔者曾经面试的时候遇见过一次字符串反转这类笔试题,今天回想起来,所以拿出来给大家分享一下。下面是这个题目要求以及示例。

题目描述:

  1. 给定一个字符串,将其中的每一个单词进行翻转并输出翻转后的字符串
  2. 单词的定义为“连续的由字母组成的子串”,例如"abc-1de/fg"的单词有3个,为["abc", "de", "fg"]
示例:
  输入:"abc-1de/fg"
  输出:"cba-1ed/gf"

   首先,从示例中,我们可以看出,在这个字符串中,会有连续的字母组成的字符串,题目的要求是让这些连续的字母字符串进行反转,然后放回原来的位置。不是字母的保留在原来的位置。所以我们可以选择RE正则表达式中的sub的替换。把连续的字母字符串通过正则取出来,放进一个list中,然后对这个list进行反转reserve。这时候的list也就是一个列表字符串,我们需要把每一个元素都取出来,进行拼接,组装成一个连续字母字符串。再通过sub进行放回取出的位置。代码如下:

import re


def fun(temp):
    ret = temp.group()
    l = []
    for s in ret:
        l.append(s)

    l.reverse()
    str = ‘‘
    for s in l:
        str += s

    return str


# str1 = ‘abc-1de/fg‘
str1 = 1233aasxcd/-1w12=sdeer
ret = re.sub(r([a-zA-Z]+), fun, str1)

print(ret)

 

字符串反转

标签:替换   print   示例   需要   列表   面试   子串   字符串   str1   

原文地址:https://www.cnblogs.com/turboliu/p/10186737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!