綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] [非標準字串] 正規表示式 + Excel 函數/VBA 工具

[複製連結] 查看: 3729|回覆: 1|好評: 0
跳轉到指定樓層
樓主
kofkin00 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2020-5-18 22:28

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 kofkin00 於 2020-6-10 08:31 編輯

<研究動機>
   非標準字串,自有了畫龍字串替換器(GGGBOY 繁中化)提取英文/簡體/英簡字串,簡直如魚得水。但問題如何在破千破萬行混雜的程式段+真實字串段之中,『 火眼金睛 』離析命中真實字串段,節省許多寶貴時間,同時避開誤觸修改程式段造成回寫的錯誤!尤其如果要弄到Hex考慮字元長短,教人兩手一攤,折騰許久
不小心誤入過非標準字串歧路的道友,更能體會其標準字串的透剔美好。。。

<經驗假設>
個人流程構思是:英文字串較無亂碼問題,所以此帖主要探討GB2312編碼為主。
1.{初道過濾}提取字串後,GB2312編碼→ 簡轉繁→ 繁體.a 透過Notepad++
  正規表示式(regular expression)比對 簡亂碼+符號+英+數+繁體  逐步篩選(白名單)要的字串,8成是理想。
左圖很多字串無規律,若用Excel函數篩選程式碼字串(黑名單)非常難且多工,不如利用現成 Notepad++ 正規表示式做搜尋。用白名單形式會簡單多。
☆但須注意一些特別樣式的正常字串,如下圖
2.{二道過濾}再貼到Excel 合併原始ANSI文字檔及轉繁體文字檔的行號列+繁體字串列,加以利用Excel函數及VBA手法。
3.{末道過濾}將Excel處理過的資料,貼回 回寫用的ANSI文字檔,流程1&2乃提升效率關鍵。人力校稿
實際好處,可比較之前的帖子 中篇:GB2312編碼 簡體中文(亂碼) → 繁體中文化 [非標準字串] 之步驟9,當時方法是開兩個文字檔做Compare,一筆一筆全靠人力篩選與剪貼。

<操作說明>
使用『 畫龍字串替換器 』,當此次範例題材的簡單手法操演
因為Notepad++ 正規表示式難在保留(ID)行號列下只做字串列篩選,所以後續大部分拉到Excel處理。
◊原始.a 文字檔(ANSI編碼),目的:無空白列,Excel方便往下拉(填滿公式/函數)
   方法一:編輯 → 行處理 → 移除空行(包含只有空白的行 ) 剩11038行
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 1碎鑽 +1 幫助 +1 收起 理由
southdog6932 + 1 + 1 非常讃

查看全部評分

收藏收藏1 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
GGGBOY | 收聽TA | 只看該作者
發表於 2020-5-20 02:28
你用太多文書軟體做繁化..會太亂也會用易出錯!普通標準字串(ANSI編碼)軟體就可以!
但大部份軟體內字串都會在(ANSI編碼)和(Unicode編碼)(UTF8編碼)合成..
1.搜索(ANSI編碼)繁化它
2.搜索(Unicode編碼)繁化它
3.搜索(UTF8編碼)繁化它
我初步試用-畫龍,搜索亂碼用GB2312的ANSI搜索亂碼去繁化和回編都可以顯示繁體..
但用-畫龍,搜索英文的Unicode會少字串,回編都是亂碼..用CXA搜索英文繁化回編可以顯示繁體!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則