python - 如何仅在字符串的开头/结尾替换非字母数字字符?

标签 python regex python-3.x

<分区>

我正在使用 Python 3.7。我有以下用于替换单词中的非字母数字字符(将函数应用于字符串数组)...

words = map(lambda x: re.sub(r'\W+', '', x), long_words)

我该如何修改上面的内容,以便在单词的开头和结尾只替换字母数字字符?也就是说,数组中的一个单词看起来像

($abc-fff%%-)

会变成

 abc-fff

现在,它变成了

 abcfff

最佳答案

使用^$ 来匹配字符串的开头/结尾:

print(re.sub(r'^\W+|\W+$', '', '($abc-fff%%-)'))

输出:

abc-fff

关于python - 如何仅在字符串的开头/结尾替换非字母数字字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57663778/

相关文章:

python - 正则表达式:消除斜杠之间的所有数字

php - 如何从已序列化的数组中删除特定的子数组?

python - PyQt5 - 单击菜单选项后在 MDI 区域中打开小部件

python - 为什么 3+++ 5 在 Python 中有效

Python内存管理——字典

python - 如何在 sqlalchemy for mysql 中的另一列之后添加一列?

python - 使用 python 的带有 if 语句的简单 lambda 函数

mysql - 字符串中相邻字符的 SQL 正则表达式

Python 瓶颈;确定文件比较功能的最佳 block 大小

python-3.x - 使用 python 宏发送键盘/鼠标输入保持目标窗口背景