- 論壇徽章:
- 0
|
今天工作又遇到了問題,簡單說一下:是漢化Flash項(xiàng)目(程序文件擴(kuò)展名as),部門的策劃新手從老外那里發(fā)過來的策劃案中的數(shù)據(jù)集文檔析出中英文列表詞元不完整,這是在調(diào)試程序時(shí)發(fā)現(xiàn)的。
我想起在源碼中的字元定義很有規(guī)律可循,即都寫成這種形式:
[color="#008080"]stype5Verb2.push("nap");
所以我可以使用Python正則來取出這種寫法中的單詞字元
這是所寫程序,其生成所需字元清單,去除可能的重復(fù)字元并排序:
[color="#008080"]# restoreWordSets.py
[color="#0000ff"]import [color="#800000"]re
[color="#0000ff"]import [color="#800000"]types
[color="#000000"]sFile_wordSet[color="#00c600"]=[color="#000000"]r[color="#a6caf0"]'workfolder\words.as'
[color="#000000"]sPath_produce[color="#00c600"]=[color="#000000"]r[color="#a6caf0"]'[color="#a6caf0"]workfolder[color="#a6caf0"]\datasetFactory\produce\\'
[color="#000000"]sFile_Produce[color="#00c600"]=[color="#000000"]sPath_produce[color="#00c600"]+[color="#a6caf0"]'wordSets.txt'
[color="#000000"]sWs[color="#00c600"]=[color="#a6caf0"]''
[color="#000000"]dWord[color="#00c600"]=[color="#000000"]{}
[color="#808000"]f[color="#00c600"]=[color="#808000"]file[color="#000000"](sFile_wordSet)
[color="#000000"]aWs[color="#00c600"]=[color="#808000"]f[color="#00c600"].[color="#808000"]readlines[color="#000000"]()
[color="#808000"]f[color="#00c600"].[color="#808000"]close[color="#000000"]()
[color="#0000ff"]for [color="#000000"]ln [color="#0000ff"]in [color="#000000"]aWs:
[color="#008080"]# ex stype5Verb2.push("nap");
[color="#000000"]m[color="#00c600"]=[color="#800000"]re[color="#00c600"].[color="#808000"]search[color="#000000"]([color="#a6caf0"]'push\s*\(\s*"([^"]+)"\)'[color="#000000"],ln)
[color="#0000ff"]if [color="#808000"]type[color="#000000"](m) ![color="#00c600"]= [color="#800000"]types[color="#00c600"].NoneType[color="#000000"]:
[color="#000000"]w[color="#00c600"]=[color="#000000"]m[color="#00c600"].[color="#808000"]group[color="#000000"](1)
[color="#0000ff"]if not [color="#000000"]dWord[color="#00c600"].[color="#808000"]has_key[color="#000000"](w):
[color="#000000"]dWord[w][color="#00c600"]=[color="#000000"]1
[color="#000000"]aWord[color="#00c600"]=[color="#000000"]dWord[color="#00c600"].[color="#808000"]keys[color="#000000"]()
[color="#000000"]aWord[color="#00c600"].[color="#808000"]sort[color="#000000"]()
[color="#0000ff"]for [color="#000000"]e [color="#0000ff"]in [color="#000000"]aWord:
[color="#000000"]sWs[color="#00c600"]+=[color="#000000"]e[color="#00c600"]+[color="#a6caf0"]'\n'
[color="#808000"]f[color="#00c600"]=[color="#808000"]file[color="#000000"](sFile_Produce,[color="#a6caf0"]'w'[color="#000000"])
[color="#808000"]f[color="#00c600"].[color="#808000"]write[color="#000000"](sWs)
[color="#808000"]f[color="#00c600"].[color="#808000"]close[color="#000000"]()
本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/28253/showart_229133.html |
|