如何去掉文字中的標點符號

2021-08-19 00:17:12 字數 1359 閱讀 4053

從網下爬下來的tweet,好多亂起八糟的符號啊。。。ノ)゚д゚( 

先來去一波符號hhh~~~

去掉中文符號和英文符號的**差不多,可以直接在英文符號上補充~

補充利用string模組中的常量:

string.digits:數字0~9

string.letters:所有字母(大小寫)

string.lowercase:所有小寫字母

string.printable:可列印字元的字串

string.punctuation:所有標點

string.uppercase:所有大寫字母

# -*- coding: utf-8 -*-

import re

import sys

reload(sys)

# import英文本元

from string import punctuation

# 如果是漢字,就用 from zhon.hanzi import punctuation

sys.setdefaultencoding('utf-8')

import codecs

# string模組中的常量:

# string.digits:數字0~9

# string.letters:所有字母(大小寫)

# string.lowercase:所有小寫字母

# string.printable:可列印字元的字串

# string.punctuation:所有標點

# string.uppercase:所有大寫字母

# add_punc補充一些punctuation中沒有的標點

add_punc = '.,;《》?!』 」 「」『』@#¥% … &×()——+【】{};;●,。&~、|\s::'

punc = punctuation + add_punc

print punc

fr = codecs.open('/users/caixiaoniao/desktop/test.txt', encoding='utf-8')

fw = codecs.open('/users/caixiaoniao/desktop/test 5.txt', 'w', encoding='utf-8')

# 利用正規表示式替換為乙個空格

for line in fr:

line = re.sub(r"[{}]+".format(punc)," ",line)

fw.write(line+' ')

fr.close()

fw.close()

[我是個小透明——大家都忙著準備簽證,啥都沒怎麼弄的我,好緊張(ಥ_ಥ)]

python去掉字串中的標點符號

方法1 使用列表新增每個字元,最後將列表拼接成字串import string defremovepunctuation text temp for c in text if c not in string.punctuation newtext join temp print newtext tex...

英語中的標點符號

period 句號 comma 逗號 colon 冒號 semicolon 分號 exclamation 驚嘆號 question mark 問號 hyphen 連字元 apostrophe 省略號 所有格符號 dash 破折號 single quotation marks 單引號 double q...

標點符號的英文表達

asterisk plus sign minus sign forward slash backslash percent symbol exclamation point symbol underscore equal sign decimal points semicolon increment...