1
import pdb
input_file_eng = open('engltreaty.txt')
word_list_eng = input_file_eng.read()
pure_word_list_eng = word_list_eng.strip("\n").strip("\r").strip('-').strip('.').strip(',').strip('(').strip(')').strip('[').strip(']')
pdb.set_trace()
input_file_eng.close() 

在断点处,我检查了字符串 pure_word_list_eng,它仍然包含 '[',']',"\n" "\n\n"

我下面是文本文件:

维多利亚女王陛下 大不列颠及爱尔兰联合王国女王以她的皇室宠爱新西兰的土著酋长和部落,急于保护他们的正当权利和财产,并确保他们享有和平与良好秩序由于大量女王陛下的臣民已经在新西兰定居,而且欧洲和澳大利亚的移民正在迅速扩大,这仍在进行中,以组建和任命一名获得适当授权的官员来与新西兰原住民相处以表彰女王陛下”s 对这些岛屿的全部或任何部分的主权权力——因此,女王陛下希望建立一种固定形式的民事政府,以期避免因缺乏必要的法律和制度而必须对当地人造成的不良后果人口和她的臣民非常高兴地授权并授权我威廉霍布森担任女王陛下皇家海军领事的上尉和新西兰某些地区的副总督,该地区可能或以后将被割让给女王陛下,邀请联邦和新西兰独立酋长同意以下条款和条件。

第一条 【第 1 条】新西兰联合部落联盟的酋长和尚未成为联盟成员的独立独立酋长绝对无保留地向英国女王陛下割让一切权利和权力上述邦联或个别酋长分别行使或拥有或可能被假定在其各自领土上作为其唯一主权行使或拥有的主权。

第 2 条 [第 2 条] 英国女王陛下确认并保证新西兰的酋长和部落及其各自的家庭和个人完全专有和不受干扰地拥有他们的土地和庄园、森林、渔业和其他财产。可以集体或个人拥有,只要他们希望和渴望保留这些东西;但联合部落的酋长和各个部落的酋长将优先购买权让与女王陛下代表他们对待。

第三条 [第 3 条] 鉴于此,英国女王陛下向新西兰原住民提供皇家保护,并赋予他们英国臣民的所有权利和特权。

(签名)威廉·霍布森,副州长。

因此,现在我们新西兰联合部落联盟的酋长们在怀唐伊的维多利亚州议会集会,我们这些新西兰独立独立的酋长声称对以我们各自的名字指定的部落和领土拥有权力,已经充分理解上述条约的规定,接受并在其全部精神和意义下签署,我们已在分别指定的地点和日期签名或标记。在我们的主一千八百四十年二月六日在怀唐伊完成。

4

3 回答 3

5

文档

返回删除了前导和尾随字符的字符串的副本。

试试str.replace()吧。

于 2012-09-17T23:26:49.990 回答
4

试试str.translate

string.translate(s, table[, deletechars])
从 s 中删除 deletechars 中的所有字符(如果存在),然后使用 table 翻译字符,table 必须是 256 个字符的字符串,给出每个字符值的翻译,由它的序数索引。如果 table 为 None,则仅执行字符删除步骤。

所以

pure_word_list_eng = word_list_eng.translate(None, "\n\r-.,()[]")
于 2012-09-17T23:36:31.147 回答
3

正如 Ignacio 所提到的,str.strip()只删除字符串开头和结尾的字符。您应该使用str.replace(), 或使用正则表达式的替代方法:

import re
pure_word_list_eng = re.sub(r'[-\n\r.,()]+', '', word_list_eng)
于 2012-09-17T23:34:21.693 回答