在Python中创建单词中字母的左右子串

时间:2017-03-12 19:37:53

标签: python string

我希望在Python中的单词中创建一个字母左右子字符串的2个数组,给定数组中子字符串的最大长度: 例如,在'working'一词中,对于字母'r'和一个等于3的子字符串的最大长度,2个数组应为:

left=[o,wo]

right=[r,rk,rki]

2 个答案:

答案 0 :(得分:0)

您可以使用here来获取左右之间潜水线的字母位置,以及其余的传统阵列切片。

['s']
['l', 'la', 'lac']

返回:

USE EMP_DB_01;
SELECT DEPTNAME, SUM(SALARY) AS 'Total Salary'
FROM DEPT, EMP 
WHERE (SALARY > 300000) AND (DEPT.DEPTNO = EMP.DEPTNO)
GROUP BY DEPTNAME

警惕这是如何处理重复字母的单词!如果我选择我的分隔字母为“l”而不是“松弛”这个词我得到:

AppComponent

答案 1 :(得分:0)

我想出了这段代码,也许它可能更简单:

import re

def get_left_right_substrings(s, divider, max_len):
    pat = re.compile(r'^(.+)(%s.+)$' % divider)

    left, right = [], []

    try:
        before, after = re.findall(pat, s)[0]
    except IndexError:
        return left, right

    before = list(before)[-3:]
    after = list(after)[:3]

    while before:
        left.insert(0, ''.join(before))
        before.pop(0)

    while after:
        right.insert(0, ''.join(after))
        after.pop()

    return left, right

s = 'working'
left, right = get_left_right_substrings(s, 'r', 3)
print left
print right