You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:如何去除单个或多个单词首尾的标点符号?

Python去除单词首尾标点(保留中间标点)的方法

方法一:利用str.strip()和string.punctuation

这是最简洁的方案,适合处理ASCII标点的场景。string.punctuation包含了所有标准ASCII标点符号,str.strip()会移除字符串首尾的这些字符。

import string

word = "!.test-one,-"
cleaned_word = word.strip(string.punctuation)
print(cleaned_word)  # 输出: test-one

方法二:正则表达式自定义匹配

如果需要处理非ASCII标点,或者要精准控制哪些标点可以保留在中间,正则表达式更灵活。下面的例子保留中间的连字符,移除首尾所有非单词、非连字符的字符:

import re

word = "!.test-one,-"
# 匹配开头/结尾的非单词、非连字符字符,替换为空
cleaned_word = re.sub(r'^[^\w-]+|[^\w-]+$', '', word)
print(cleaned_word)  # 输出: test-one

如果中间需要保留其他标点(比如句号),只需调整正则里的字符集,比如把[^\w-]改成[^\w-.]即可。

内容的提问来源于stack exchange,提问作者Shrmn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:55:16