正则表达式字符串格式

2024-09-28 19:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我回答一个正则表达式问题吗? 我需要删除所有外部的空白,这样字母表之间的中间空间就可以保留,并删除字符串末尾的数字和特殊字符

输出必须如下所示:

' Puerto Rico (#682) ' -> 'Puerto Rico'

'Cote d'Ivoire (#438)' -> 'Cote d'Ivoire'

我似乎不能保留撇号和字母之间的空格


Tags: 字符串字母空间数字空白字母表空格末尾
1条回答
网友
1楼 · 发布于 2024-09-28 19:22:20

您可以使用^$锚定来确保仅删除字符串开头和结尾处的空格和所有非字母:

import re
def clean_string(d):
  return re.sub('^\s+|[^a-zA-Z]+$', '', d)

s = ['  Puerto Rico (#682)  ', "Cote d'Ivoire (#438)"]
print([clean_string(i) for i in s])

输出:

['Puerto Rico', "Cote d'Ivoire"]

相关问题 更多 >