Python在特殊字符和单词之间添加空格

时间:2017-01-04 14:28:52

标签: python string join split

我正在研究数据科学项目,我遇到了一个问题。我有一个充满字符串的数组,如下面的字符串,我想在单词之间和特殊字符之间添加一个空格

sentence[i] = 'This is a⓵⓶⓷string'

我希望有类似的东西:

sentence[i] = 'This is a ⓵ ⓶ ⓷ string'

我的最后一次尝试:

l=[]
for i in lines:
    for j in i:
        if j.isalpha() == False:
            l.append(i.split())
        else:
            l.append(i)

print(l)

for i in l:
    s = ' '.join(i)

2 个答案:

答案 0 :(得分:1)

您可以简单地扫描整行,并为每个既不是字母也不是空格的字符选择性地添加空间。

s = 'This is a⓵⓶⓷string'
t = ''
for x in s :
    if not str.isalpha(x) and x != ' ' :
        if t[-1] != ' ':
            t+= ' '
        t += x
        t += ' '
    else: t += x

这可以用来举例说明。

答案 1 :(得分:0)

使用regular expressions完成该任务,特别是re.sub反向引用,以便用空格包围匹配的字符。