精华内容
下载资源
问答
  • 既然是去掉标点符号,那当然是用正则表达式啦。正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合...

    既然是去掉标点符号,那当然是用正则表达式啦。

    5d1c3a98cdb43787.jpg

    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。(推荐学习:Python视频教程)

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

    给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

    1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):

    2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

    可以对字符串中的标点符号进行过滤,从而达到去掉或替换标点符号的效果。import re

    punctuation = '!,;:?"\''

    def removePunctuation(text):

    text = re.sub(r'[{}]+'.format(punctuation),'',text)

    return text.strip().lower()

    text = " Hello, world! "

    print removePunctuation(text)

    正则表达式的特点是:

    1. 灵活性、逻辑性和功能性非常强;

    2. 可以迅速地用极简单的方式达到字符串的复杂控制。

    3. 对于刚接触的人来说,比较晦涩难懂。

    更多Python相关技术文章,请访问Python教程栏目进行学习!

    以上就是python中怎么去掉标点符号的详细内容,更多请关注php中文网其它相关文章!

    article_wechat2021.jpg?1111

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • Python去除文本所有标点符号

    万次阅读 2019-09-19 16:48:17
    去除标点符号方式多种多样,这里介绍两种自己常用的。 1、python自带punctuation包,可以消除所有中文标点符号。 import re,string from zhon.hanzi import punctuation text = " Hello, world! 这,是:我;第!一...

    去除标点符号方式多种多样,这里介绍两种自己常用的。

    1、python自带punctuation包,可以消除所有中文标点符号。

    import re,string
    from zhon.hanzi import punctuation
    text = " Hello, world! 这,是:我;第!一个程序\?()()<>《》 "
    print(re.sub(r"[%s]+" %punctuation, "",text))

    Hello world 这是我第一个程序

     

    2、自己定义标点符号集,即可以消除中文标点符号也可以消除英文标点符号。

    import re,string
    text = " Hello, world! 这,是:我;第!一个程序\?()()<>《》 "
    punc = '~`!#$%^&*()_+-=|\';":/.,?><~·!@#¥%……&*()——+-=“:’;、。,?》《{}'
    print(re.sub(r"[%s]+" %punc, "",text))

    Hello world 这是我第一个程序

     

     

    展开全文
  • Python去掉标点符号的方法如下:方法一:str.isalnum:S.isalnum() -> bool返回值:如果string至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。实例:>>> string = "Special $#! characters ...

    5d1962f6be5c6210.jpg

    Python去掉标点符号的方法如下:

    方法一:

    str.isalnum:

    S.isalnum() -> bool

    返回值:如果string至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。

    实例:>>> string = "Special $#! characters spaces 888323"

    >>> ''.join(e for e in string if e.isalnum())

    'Specialcharactersspaces888323'

    只能识别字母和数字,杀伤力大,会把中文、空格之类的也干掉

    方法二:

    string.punctuationimport re, string

    s ="string. With. Punctuation?" # Sample string

    # 写法一:

    out = s.translate(string.maketrans("",""), string.punctuation)

    # 写法二:

    out = s.translate(None, string.punctuation)

    # 写法三:

    exclude = set(string.punctuation)

    out = ''.join(ch for ch in s if ch not in exclude)

    # 写法四:

    >>> for c in string.punctuation:

    s = s.replace(c,"")

    >>> s

    'string With Punctuation'

    # 写法五:

    out = re.sub('[%s]' % re.escape(string.punctuation), '', s)

    ## re.escape:对字符串中所有可能被解释为正则运算符的字符进行转义

    # 写法六:

    # string.punctuation 只包括 ascii 格式; 想要一个包含更广(但是更慢)的方法是使用: unicodedata module :

    from unicodedata import category

    s = u'String — with - «Punctuation »...'

    out = re.sub('[%s]' % re.escape(string.punctuation), '', s)

    print 'Stripped', out

    # 输出:u'Stripped String \u2014 with \xabPunctuation \xbb'

    out = ''.join(ch for ch in s if category(ch)[0] != 'P')

    print 'Stripped', out

    # 输出:u'Stripped String with Punctuation '

    # For Python 3 str or Python 2 unicode values, str.translate() only takes a dictionary; codepoints (integers) are looked up in that mapping and anything mapped to None is removed.

    # To remove (some?) punctuation then, use:

    import string

    remove_punct_map = dict.fromkeys(map(ord, string.punctuation))

    s.translate(remove_punct_map)

    # Your method doesn't work in Python 3, as the translate method doesn't accept the second argument any more.

    import unicodedata

    import sys

    tbl = dict.fromkeys(i for i in range(sys.maxunicode) if unicodedata.category(chr(i)).startswith('P'))

    def remove_punctuation(text):

    return text.translate(tbl)

    方法三:

    re

    例:import re

    s ="string. With. Punctuation?"

    s = re.sub(r'[^\w\s]','',s)

    测试:import re, string, timeit

    s ="string. With. Punctuation"

    exclude = set(string.punctuation)

    table = string.maketrans("","")

    regex = re.compile('[%s]' % re.escape(string.punctuation))

    def test_set(s):

    return ''.join(ch for ch in s if ch not in exclude)

    def test_re(s):

    return regex.sub('', s)

    def test_trans(s):

    return s.translate(table, string.punctuation)

    def test_repl(s):

    for c in string.punctuation:

    s=s.replace(c,"")

    return s

    print"sets :",timeit.Timer('f(s)', 'from __main__ import s,test_set as f').timeit(1000000)

    print"regex :",timeit.Timer('f(s)', 'from __main__ import s,test_re as f').timeit(1000000)

    print"translate :",timeit.Timer('f(s)', 'from __main__ import s,test_trans as f').timeit(1000000)

    print"replace :",timeit.Timer('f(s)', 'from __main__ import s,test_repl as f').timeit(1000000)

    out_put:

    # sets : 19.8566138744

    # regex : 6.86155414581

    # translate : 2.12455511093

    # replace : 28.4436721802

    更多Python相关技术文章,请访问Python教程栏目进行学习!

    以上就是python中如何去除标点符号的详细内容,更多请关注php中文网其它相关文章!

    article_wechat2021.jpg?1111

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 在处理文本的时候往往需要对标点符号进行处理: 导入python string类自带的标点符号 from string import punctuation s='不错!今天,也要"加油"哦?' dicts={i:'' for i in punctuation} punc_table=str.maketrans...

    在处理文本的时候往往需要对标点符号进行处理:

    导入python string类自带的标点符号

    from string import punctuation
    
    s='不错!今天,也要"加油"哦?'
    dicts={i:'' for i in punctuation}
    punc_table=str.maketrans(dicts)
    new_s=s.translate(punc_table)
    print(new_s)
    

    out:

    不错今天也要加油哦
    
    string方法含义
    translate()方法根据参数table给出的表(包含 256 个字符)转换字符串的字
    maketrans()方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

    在使用方法时易出现;
    TypeError: translate() takes exactly one argument (2 given)
    ValueError: the first two maketrans arguments must have equal length
    在translate传入字典即可,maketrans()创建表时候需要一一对应

    含有中文符号解决:

    找到源文件string.py
    修改为:
    在这里插入图片描述
    当然,你也可以将下面的直接写到代码中而不用导入string库

    punctuation = r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~“”?,!【】()、。:;’‘……¥·"""
    
    s ="哇!你今天,真的,“好漂亮”"
    dicts={i:'' for i in punctuation}
    punc_table=str.maketrans(dicts)
    new_s=s.translate(punc_table)
    print(new_s)
    

    out:

    哇你今天真的好漂亮
    
    展开全文
  • I'm trying to remove a list of punctuation from my text file but I have only one problem with words separated from hyphen. For example, if I have the word "post-trauma" I get "posttrama" conversely I ...
  • 文本标点 """ punctuation = r"~!@#$%^&*()_+`{}|\[\]\:\";\-\\\='<>?,./,。、《》?;:‘“{【】}|、!@#¥%……&*()——+=-" content = re.sub(r'[{}]+'.format(punctuati
  • python去除文本标点符号

    千次阅读 2019-11-01 18:10:30
         ...为了消除标点符号的影响,需要去除标点python的string模块下的punctuation包含所有的英文标点符号。所以用replace()一下就可以去除: Example 1: import stri...
  • 广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!腾讯云 api 全新升级3.0 ,该... 这里针对 python api 调用方式进行简单说明。 现已支持云服务器(cv...
  • 其实我们可以在搜索引擎上面搜索关键词:Python正则去除中英文标点。也是可以搜索到很多的相关解决问题的方法,不过有些解决的过于复杂,在这里Steven推荐这种方式去解决大部分的文章里面包含英文标点,通过正则...
  • text) return text def preprocess_English(text): from string import punctuation text = re.sub(r'[{}]+'.format(punctuation),'',text) return text 参考: [1] NLP:最全去掉文本中英文标点符号大法 [CSDN]
  • 今天小编就为大家分享一篇python3去掉string标点符号方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 使用Python文本标点整句切分

    千次阅读 2019-08-06 17:44:15
    利用这段代码对这段文本信息进行分词和词性标注,就有如下结果(部分省略): 【 x # x 奔驰 v 女 b 车主 n ... 2.整句切分——按标点切分 或许你不需要单词切分你只需要整句切分,即按标点切分,那么你可以...
  • python 去除所有的中文 英文标点符号

    万次阅读 2020-04-08 15:46:45
    python的string模块下的 punctuation 包含所有的英文标点符号,所以用replace()一下就可以去除。 代码示例: import string stri = 'today is friday, so happy..!!!' punctuation_string = string.punctuation ...
  • Python文本处理——中文标点符号处理 中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法,如有更好的工具,请推荐...
  • python去除常见标点符合以及空格 在处理中文语句进行分词前,标点符号比较占位置,可以使用下面方法清空掉。 def drop_punctuation(text): punc = '~`!#$%^&*()_+-=|\';":/.,?><~·!@#¥%……&*()...
  • python3去掉string标点符号

    万次阅读 2018-08-14 11:30:22
    网上看到的python去掉字符串标点符号的方法,大多是基于python2的,不适用python3,调整后代码如下: 代码 lower_case_documents = ['Hello, how are you!','Win money, win from home.','Call me now.','...
  • 中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法:中文标点集合比较常见标点有这些:!?。"#$%&'()*+,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,749
精华内容 1,899
关键字:

python去除文本中的标点

python 订阅