我正在解析大约 200,000 个文档(每个文档约 1-3gb),以使用正则表达式删除所有非字母数字字符,并匹配一些古老代码的输入格式。每个单词/数字都需要用 . 分隔_
。
我已将它们分成单独的部分,因此它可以工作,但我一直试图将表达式组合成一个,但没有成功。
我怎样才能将这些碎片组合在一起?
组合表达式有哪些注意事项?
def clean_document(raw_input):
no_more_etf = re.sub(r'[^\x00-\x7F]+', '', raw_input)
no_more_non_utf = re.sub(r'[\000-\011\013-\037]', '', no_more_etf)
no_more_spaces = re.sub('\s+', '_', no_more_non_utf.strip())
almost_there = re.sub('[^0-9a-zA-Z]+', '_', no_more_spaces)
clean_string = almost_there.lower()
return clean_string
示例字符串:
'"where is the Vehicles 我是一群隨機人物 "countries"=>"35,214" "refinement"=>"3" 我的书在哪里"I\'m a dirty array object"=>"" "category_ids"=>"2,5,7,8" "data_size_units"=>"", "delivery_formats"=>"1,4" "delivery_® ® ®methods"=>"1,2", "price_currencies"=>"1" , "trial_currencies"=>"1", "categories"=>"2,10 ,19", "Delivery_growth_units ® ® ®"=>"", "trial_duration_units"=>"6", 私の本はどこですか "collection_time_units"=>"", "strategies"=>"2,3 , 4,6", "processing_time_units"=>"", "delivery_frequency_units" =>"", "subscription_duration_units "=>"6" ® ® ® ģ ģ ģ - GPS Place-Visits for Delivery Vehicles'