0

我想在特定条件下从文本文件中删除撇号,它们没有被字母包围。我已经能够弄清楚如何使用以下isalpha()方法获得由字母包围的撇号的总和:

sum(textfile[i-1].isalpha() and textfile[i]=="'" and textfile[i+1].isalpha()
        for i in range(1,len(textfiel)-1))

但是我想以某种方式删除没有被字母包围的撇号,而不需要导入额外的模块。

有没有人有关于如何使用 .isalpha() 方法的建议?

我尝试过使用isalpha()组合,text.replace()但似乎很难实现。

4

1 回答 1

0

IIUC,这应该有效:

s = "ab' c'd'e f'g' h' 'i"

indexes = [i for i in range(1, len(s)-1) if (s[i]=="'" and s[i-1].isalpha() and s[i+1].isalpha())]
''.join([element for i, element in enumerate(s) if i not in indexes])

输出

"ab' cde fg' h' 'i"
于 2019-10-25T03:36:23.830 回答