使用正则表达式匹配特定模式,将两个特殊字符之间的非字母字符替换为空格,然后使用Python的字符串方法去掉所有非字母字符。
示例代码如下:
import re
def keep_letters_between_special_characters(string, special_char):
pattern = re.compile(r'(?<=' + special_char + ')[^a-zA-Z]+(?=' + special_char + ')')
string = pattern.sub(' ', string)
return ''.join(filter(str.isalpha, string))
# 示例
string = 'a/b:c*d,e-f_g.1|2(3)4{5}6[7]8^9$0&h#i'
special_char = '#'
result = keep_letters_between_special_characters(string, special_char)
print(result) # 输出 'hi'