gpt4 book ai didi

python - 从文件中删除所有非字母数字字符并在 python 中使用相同的名称保存它

转载 作者:行者123 更新时间:2023-12-01 04:06:15 24 4
gpt4 key购买 nike

我有一个 .txt 文档,其中包含一长串文本,其中混有一些我想要删除的特殊字符。我想做一些类似 re.findAll 的事情来提取所有单词并保存文件并过滤掉其他字符。如何打开文件,提取所有非字母数字字符,然后使用相同的文件名保存它(显然,所有空格都已到位)? re.sub 有更好的方法吗?

import re
hand = open('document.txt')
for line in hand:
line = line.rstrip()
re.sub(r'\W+', ' ', line)

该文档如下所示:但这是一次骑行之后!我喜欢所有角色,主要是因为书中的每个人都有灰色地带,而这就是真实角色应该有的样子。情感是真实的,需要一段时间才能安定下来,但故事的节奏很快。绝对推荐。 Hsnan Hn wqt\'n\'ltqT\'nfsy w\'`yd lhdw l~Wan b`d tlk lrHl@ lmt`b@ lmlyy\'@ blGmwD wlbHth wlshkwk ..fy lbdy@ , `lyk `zyzy lqry lntbh qbl qr@ tlk lrwy@ l~ `d@\'shy ,\'wlh\'n lrwy@ lyst rwmnsy@\'w drm `ks m ywHy smh , fh~ rwy@ tntmy l~ lfy\'@ lbwlysy@ , fy\'@ ljry\'m wlkhywT lmtshbk@ .thny tlk l\'shy hw\'n tlk lrwy@ stj`lk mtsmran\'mmh s`t Twyl@ dwn mll , wmn thm `lyk\'n tnthy mn mshGlk wtj`l nfsk\'syran lhdh l`ml dwn swh ..fy\'wl~ lSfHt 、stjd nfsk l tstw`b m yHdth 、wstjd nfsk ttsl mn hw\'l ? wm l`lq@bynhm ? wlknh lbdy@ fqT 、`lyk\'n tmsk blkhywT lbdy\'y@ wb`d dhlk\'trk nfsk tmman dwn ltfkyr fy 害羞、stjd\'n l\'Hdth lmttly@ wlmt`qb@\'d@ jdhb l ymknk ltgdy` nh .. l twjd shkhsy@ ry\'ysy@ fy tlk lrwy@,jmy`lshkhsyt lwrd@ lhm\lhm\'dwrmwry@,rytshyl twm an s skwtshyl twm an s skwt mygyn kml abdyk,wl ymkn ymkn ymkn ymkn lq l q l q l q l q l q l q l q l q l q l q l q l q l q l q l q. hn fy tlk lrwy@ , fmn khllh tbd\' l\'Hdth wttTwr wlwlh lm wjdt lHbk@\'w wsyl@ tS`d l\'mwr ..rGm\'n tslsl l\'Hdth dkhl lrwy@ wlntql mn lmDy l ~ lHDr wl`ks hw\'mr mrhq l\'n dhlk\'Df~ lmzyd mn lthr@ wltshwyq dkhl tlk lrwy@ dwn l`ml `l~ Hrq l\'Hdth , bl`ks tj`l l\'mr wk\'nh\'shbh bfsyfs ttDH m`lmh klm tkmlt mkwnth ..ltrjm@ ? l Gbr `lyh 、 wlm\'sh`r wk\'nny\'mm `ml mtrjm mn l\'Sl ..\'slwb lm`lj@ mmtz 、 lHbk@ ldrmy@ mmtz@ 、 lktb@ njHt fy stGll kf @ mqwmt lktb@ lnjH@ w\'khrjt ln `mlan mmyzan khS@ w\'nny l\'myl l~ fy\'@ lrwyt lbwlysy@ wlkn l\'mr\'khtlf hn ..mlHwZ@\'khyr@ : `ndm nZrt l~ Swr@ lktb@ fy nhy@ tlk lrwy@ sh`rt wk\'nh qtl@

我想删除所有特殊字符、标点符号,只保留 [a-zA-Z0-9] 字符。

最佳答案

\W 是表示任何非字母数字字符的元字符。

创建一个列表来存储已删除非字母/数字字符的行,然后将这些行写回到同一个文件中。

import re

with open('document.txt') as hand:
lines = []
for line in hand:
lines.append(re.sub("[\W]", "", line))

with open('document.txt', 'w') as hand:
for line in lines:
hand.write(line)

输出:

ButwasitarideafterIlovedallthecharactersmainlybecauseeveryoneinthebookhasshadesofgrayandthatishowrealcharactersaresupposedtobeTheemotionswererealandtooktheirtimetosettleinandyetthestorywasfastpacedDefinitelyrecommendHsnanHnwqtnltqTnfsywydlhdwlWanbdtlklrHllmtblmlyyblGmwDwlbHthwlshkwkfylbdylykzyzylqrylntbhqblqrtlklrwyldshywlhnlrwylystrwmnsywdrmksmywHysmhfhrwytntmyllfylbwlysyfyljrymwlkhywTlmtshbkthnytlklshyhwntlklrwystjlkmtsmranmmhstTwyldwnmllwmnthmlykntnthymnmshGlkwtjlnfsksyranlhdhlmldwnswhfywllSfHtstjdnfskltstwbmyHdthwstjdnfskttslmnhwlwmllqbynhmwlknhlbdyfqTlykntmskblkhywTlbdyywbddhlktrknfsktmmandwnltfkyrfyshystjdnlHdthlmttlywlmtqbdjdhblymknkltGDynhltwjdshkhSyryysyfytlklrwyjmylshkhSytlwrdlhmdwrmHwryrytshyltwmanskwtmyGynkmlabdykwlknymknlqwlnlqTrhwsydlmwqfhnfytlklrwyfmnkhllhtbdlHdthwttTwrwlwlhlmwjdtlHbkwwsyltSdlmwrrGmntslsllHdthdkhllrwywlntqlmnlmDyllHDrwlkshwmrmrhqlndhlkDflmzydmnlthrwltshwyqdkhltlklrwydwnlmllHrqlHdthblkstjllmrwknhshbhbfsyfsttDHmlmhklmtkmltmkwnthltrjmlGbrlyhwlmshrwknnymmmlmtrjmmnlSlslwblmljmmtzlHbkldrmymmtzlktbnjHtfystGllkfmqwmtlktblnjHwkhrjtlnmlanmmyzankhSwnnylmyllfylrwytlbwlysywlknlmrkhtlfhnmlHwZkhyrndmnZrtlSwrlktbfynhytlklrwyshrtwknhqtl

保留空格:

re.sub("[^\s\w]+", "", line)

关于python - 从文件中删除所有非字母数字字符并在 python 中使用相同的名称保存它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35540593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com