首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python中的字符串中去除标点符号?

Python中的字符串中去除标点符号?

提问于 2017-12-22 06:14:32
回答 2关注 0查看 11K

似乎应该有一个比以下更简单的方法:

代码语言:txt
复制
代码语言:txt
AI代码解释
复制
import string
代码语言:txt
AI代码解释
复制
s = "string. With. Punctuation?" # Sample string 
代码语言:txt
AI代码解释
复制
out = s.translate(string.maketrans("",""), string.punctuation)

在那儿?

回答 2

以往V

发布于 2017-12-22 07:26:12

正则表达式很简单,如果你知道的话。

代码语言:txt
AI代码解释
复制
import re
代码语言:txt
AI代码解释
复制
s = "string. With. Punctuation?"
代码语言:txt
AI代码解释
复制
s = re.sub(r'[^\w\s]','',s)

人生的旅途

发布于 2017-12-22 07:25:55

效率的角度来看,你不会打败

代码语言:txt
AI代码解释
复制
s.translate(None, string.punctuation)

它使用查找表在C中执行原始字符串操作 - 没有太多的东西会打败你,而是编写你自己的C代码。

如果速度不是一个担心,但另一个选项,虽然是:

代码语言:txt
AI代码解释
复制
exclude = set(string.punctuation)
代码语言:txt
AI代码解释
复制
s = ''.join(ch for ch in s if ch not in exclude)

这比使用每个字符的s.replace更快,但是不会像非正式的Python方法(如regexes或者string.translate)那样执行,正如您从下面的时间点可以看到的那样。对于这种类型的问题,在尽可能低的水平上做到这一点是值得的。

时间码:

代码语言:txt
AI代码解释
复制
import re, string, timeit
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
s = "string. With. Punctuation"
代码语言:txt
AI代码解释
复制
exclude = set(string.punctuation)
代码语言:txt
AI代码解释
复制
table = string.maketrans("","")
代码语言:txt
AI代码解释
复制
regex = re.compile('[%s]' % re.escape(string.punctuation))
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
def test_set(s):
代码语言:txt
AI代码解释
复制
    return ''.join(ch for ch in s if ch not in exclude)
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
def test_re(s):  # From Vinko's solution, with fix.
代码语言:txt
AI代码解释
复制
    return regex.sub('', s)
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
def test_trans(s):
代码语言:txt
AI代码解释
复制
    return s.translate(table, string.punctuation)
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
def test_repl(s):  # From S.Lott's solution
代码语言:txt
AI代码解释
复制
    for c in string.punctuation:
代码语言:txt
AI代码解释
复制
        s=s.replace(c,"")
代码语言:txt
AI代码解释
复制
    return s
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
print "sets      :",timeit.Timer('f(s)', 'from __main__ import s,test_set as f').timeit(1000000)
代码语言:txt
AI代码解释
复制
print "regex     :",timeit.Timer('f(s)', 'from __main__ import s,test_re as f').timeit(1000000)
代码语言:txt
AI代码解释
复制
print "translate :",timeit.Timer('f(s)', 'from __main__ import s,test_trans as f').timeit(1000000)
代码语言:txt
AI代码解释
复制
print "replace   :",timeit.Timer('f(s)', 'from __main__ import s,test_repl as f').timeit(1000000)

这给出了以下结果:

代码语言:txt
AI代码解释
复制
sets      : 19.8566138744
代码语言:txt
AI代码解释
复制
regex     : 6.86155414581
代码语言:txt
AI代码解释
复制
translate : 2.12455511093
代码语言:txt
AI代码解释
复制
replace   : 28.4436721802
和开发者交流更多问题细节吧,去 写回答
相关文章
python 去除字符串的标点符号 用_浅谈Python中字符串
今天小编主要讲解一下Python中的字符串,字符串的处理是实际应用中常见的任务,Python支持处理字符串有:索引(通过偏移获取)、分片(抽取一部分)、合并(组合字符串)等。
用户7886150
2021/01/28
2.2K0
Python_去除字符串中的空格
01. strip() 方法 strip() :用于移除字符串头尾指定的字符(默认为空格)或字符序列。 注: 该方法只能删除开头或结尾的字符,不能删除中间部分的字符。 old_data = " a b c d 1 1 3 1 " new_data = old_data.strip() old_data2 = "com.123fa.comsfasf.comasdfrs324.com" new_data2 = old_data2.strip(".com") print(new_data) print(new
用户7741497
2022/03/24
2.3K0
c++ 去除字符串中的空格和标点符号 (remove_if 函数的用法)
remove_if ( str_testing.begin(), str_testing.end(), static_cast<int(*)(int)>(&ispunct) ),
用户7886150
2021/02/09
3.9K0
如何去除字符串中的 "\n" ?
我最近负责的工作是设计一个 SQL 解析引擎。简单来说,就是将一个 SQL 表达式字符串,解析为一颗对象树,从而执行查询等一系列操作。
程序员鱼皮
2021/03/25
3.7K0
如何去除字符串中的 "\n" ?
我最近负责的工作是设计一个 SQL 解析引擎。简单来说,就是将一个 SQL 表达式字符串,解析为一颗对象树,从而执行查询等一系列操作。
程序员鱼皮
2021/03/12
5.3K0
去除字符串中重复字符
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147190.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/01
2.1K0
去除字符串中重复字符
python3 如何去除字符串中不想要的
      "Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng" 
py3study
2020/01/06
1.2K0
去除字符串中的空白符
函数提供三个功能,一种是去除左侧空格和TAB、另外一种是去除右侧的空格和TAB,最后一种则是去除所有空格和TAB,适当修改代码也可以去除ASCII中的9~13的其他空白符。具体实现如下:
我与梦想有个约会
2023/10/20
4870
[781]python去除字符串中开头|结尾|所有字母、数字
参考:https://blog.csdn.net/qq_25792799/article/details/80322889 https://blog.csdn.net/qq_40771567/article/details/86561158 https://www.cnblogs.com/pyse/p/9847812.html http://dy.163.com/v2/article/detail/DMA5CHFN0511RVML.html
周小董
2020/04/08
3.3K0
python中str.translate的用法,删除文本中的标点符号
table=str.maketrans('','',string.punctuation)
用户7886150
2021/01/14
2.2K0
Python - 去除list中的空字符
Python内建filter()函数 - 过滤list filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素
AIHGF
2019/02/18
3K0
去除字符串中的双引号「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142601.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
3K0
Java如何去除字符串中的HTML标签
使用爬虫爬取网站数据,有时会将HTML相关的标签也一并获取,如何将这些无关的标签去除呢,往下看:
军军不吃鸡
2022/10/26
5K0
Java如何去除字符串中的HTML标签
Python——去除列表中的重复元素
set(['I', 'I', 'M', 'E']) set(['I', 'E', 'M']) 集合中,没有重复的元素。利用集合这种数据结构的特性,可以去除列表中的重复元素。 一个列表中可能含有重复元素,使用set()可以实现列表的去重处理,但是无法知道哪些元素是重复的,下面的函数用于找出哪些元素重复了,以及重复的次数。 from collections import Counter a = [1,4,2,3,2,3,4,2] b = Counter(a) #求数组中每个数字出现了几次 print(b)
瑞新
2020/07/07
6.7K0
正则去除html字符串中的注释、标签、属性
var str = '<!-- 注释1 --><h1 style="color:#00ff00;text-align: center;">ProsperLee<!-- 注释 --></h1>';
ProsperLee
2018/10/24
3.1K0
正则去除html字符串中的注释、标签、属性
Python中字符串的一些方法回顾(文本对齐、去除空白)
# python中字符串的一些方法回顾(文本对齐、去除空白) 文本对齐的方法,以及用strip函数去除字符串的中空白字符 # 代码 # 假设:以下内容是从网络上抓取下来的 # 要求:顺序并且居中对齐输出一下内容 poem = ["\t\n登鹤鹊楼", "王之涣", "白日依山尽\t\n", "黄河入海流", "欲穷千里目", "更上一层楼"] for poem_str in poem: # 先使用strip方法去除字符
benym
2022/07/14
1.4K0
去除文件中<feff>
最近生成的文件中出现了<feff>乱码,而且单个文件中出现不止一次,在vim中打该文件显示<feff>,而在idea中则显示一个“-”,对数据处理造成了极大的困扰,通过使用其它编辑器打开发现,Windows记事本不出现乱码,notepad++不出现乱码,那么极有可能是该乱码位置写了一些不可见的标志字符。
休辞醉倒
2019/07/25
5K0
Python去除文本文件中的空行
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
4.9K0
Python 去除文本文件中的空行
功能 读取存在空行的文件,删除其中的空行,并将其保存到新的文件中; 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/3/18 21:41 # @Author : cunyu # @Site : cunyu1943.github.io # @File : deleteBlankLines.py # @Software: PyCharm """ 读取存在空行的文件,删除其中的空行,并将其保存到新的文件中 """
村雨遥
2022/06/15
2.3K0
使用Python,怎么去除列表中重复的内容?
问:使用Python,怎么去除列表中重复的内容? 今日分享的内容,很简单,很常用。话不多说,直接开始。 mylist = ["a", "b", "a", "c", "c"] mylist = list(dict.fromkeys(mylist)) print(mylist)
TalkPython
2020/12/29
4.2K0

相似问题

从JavaScript中如何去除HTML?

2536

怎么一键去除视频中的水印?

3412

语音识别中的录音文件识别如何去除时间戳?

0129

将字符串转换为Python中的Enum?

2776

如何实现图片去除网纹?

0382
相关问答用户
五八同城 | Java程序员擅长2个领域
擅长1个领域
腾讯云 | 产品运营
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档