精华内容
下载资源
问答
  • 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 ...

    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 want to get "post" "trauma".

    My code is:

    punct=['!', '#', '"', '%', '$', '&', ')', '(', '+', '*', '-']

    with open(myFile, "r") as f:

    text= f.read()

    remove = '|'.join(REMOVE_LIST) #list of word to remove

    regex = re.compile(r'('+remove+r')', flags=re.IGNORECASE)

    out = regex.sub("", text)

    delta= " ".join(out.split())

    txt = "".join(c for c in delta if c not in punct )

    Is there a way to solve it?

    解决方案

    I believe you can just call the built-in replace function on delta, so your last line would become the following:

    txt = "".join(c for c in delta.replace("-", " ") if c not in punct )

    This means all the hyphens in your text will become spaces, so the words will be treated as if they were separate.

    展开全文
  • 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去除文本标点符号

    千次阅读 2019-11-01 18:10:30
         ...为了消除标点符号的影响,需要去除标点python的string模块下的punctuation包含所有的英文标点符号。所以用replace()一下就可以去除: Example 1: import stri...

            今天做一个文本相似度的小任务,利用python的“Levenshtein”包可对比两个文本的相似度。为了消除标点符号的影响,需要去除标点,python的string模块下的punctuation包含所有的英文标点符号。所以用replace()一下就可以去除:

    Example 1:
    import string
    s = 'today is friday, so happy..!!!'
    for c in string.punctuation:
        s = s.replace(c,'')
    print(s)
    
    Result:
    today is friday so happy
    

            string.punctuation中的标点符号只有英文,如果是中文文本,可以调用zhon包的zhon.hanzi.punctuation函数即可得到中文的标点符号集合。

    Example 2:
    from zhon.hanzi import punctuation
    a = '今天周五,下班了,好开心呀!!'
    for i in punctuation:
        a = a.replace(i,'')
    print(a)
    
    Result:
    今天周五下班了好开心呀
    

    <( ̄︶ ̄)↗[GO!]

    展开全文
  • 在处理文本的时候往往需要对标点符号进行处理: 导入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:

    哇你今天真的好漂亮
    
    展开全文
  • 既然是去掉标点符号,那当然是用正则表达式啦。正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合...
  • NLP-中文文本去除标点符号

    万次阅读 2018-05-06 01:10:39
    简单记录一下中文文本如何去除标点和...二、中文文本去除标点符号 1.背景知识 2.示例说明1:使用Zhon库中的符号集 ①命令行中安装Zhon库 ②代码 ③结果 ④问题说明 3.示例说明2:自定义特殊符号集进行去除 ...
  • python 字符串过滤英文标点... ..python中用正则表达式去掉文本中所有的标点符号目前的做法是: line=re.sub(r'[{}]+'.format(punctuation),'',line) 但小编的理解是 python’s的“ ’ ”也是字符 ,和标点符号一样...
  • 中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法:中文标点集合比较常见标点有这些:!?。"#$%&'()*+,...
  • 文本标点 """ punctuation = r"~!@#$%^&*()_+`{}|\[\]\:\";\-\\\='<>?,./,。、《》?;:‘“{【】}|、!@#¥%……&*()——+=-" content = re.sub(r'[{}]+'.format(punctuati
  • 最近在处理文本,发现切分句子,去除标点符号,判断字符串是否包含中文经常会用到,我这里分享一下我的代码: 切分句子 import re def split_sentences(line): line_split = re.split(r'[。!;?,]',line.strip...
  • python ——使用正则化去除标点符号

    千次阅读 2020-10-12 14:53:43
    python ——使用正则化去除标点符号 在进行文本预处理时,可以使用正则化去掉文本中的标点符号。 re.sub(pattern, repl, string, count=0, flags=0) 去除掉一般符号代码如下: r = "[A-Za-z0-9_.!+-=——,$%^,。...
  • # 英文标点符号+中文标点符号 punc = punctuation + u‘.,;《》?!“”‘’@#¥%…&×()——+【】{};;●,。&~、|\s::‘ print punc fr = codecs.open(‘./train_jkm.txt‘,encoding=‘utf-8‘) fw ...
  • Python文本处理——中文标点符号处理 中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法,如有更好的工具,请推荐...
  • 中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法: 中文标点集合 比较常见标点有这些: 1 !?。...

空空如也

空空如也

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

python文本去除标点符号

python 订阅