SQL / Python - 带逗号的字符串替换模式

时间:2015-07-13 10:23:51

标签: python sql regex string

我需要使用最好的SQL 字符串函数(即CHARINDEX,LEFT,TRIM等)或Python来完成以下任务。

问题在于:

Example string: BOB 3A, ALICE 6M

Required output: 3aB, 6mA

正如您所看到的,我需要为逗号前面的每个单词获取最后两个字符,然后将每个项目的第一个字符追加到末尾。优选地,这应该适用于任何数量的逗号分隔它们的项目,但可能的情况是两个。

任何提示/方向都会很棒。感谢。

3 个答案:

答案 0 :(得分:0)

Yoyu可以试试这个,

>>> s = "number: 123456789"
>>> ', '.join([i[-2]+i[-1].lower()+i[0] for i in s.split(', ')])
'3aB, 6mA'

答案 1 :(得分:0)

这是一个Python解决方案:

def thesplit(s):
    result = []

    for each in s.split(', '):
        name, chars = each.split(' ')
        result.append(chars.lower() + name[0])

    return ', '.join(result)

您可以像这样使用它:thesplit('BOB 3A, ALICE 6M')

答案 2 :(得分:0)

试试这个:

str = 'BOB 3A, ALICE 6M'

print ', '.join( map( lambda x: x[-2:].lower()+x[0], str.split(", ")  )   )