全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1048
推到 Plurk!
推到 Facebook!

如何分開一字串中的中文及英文

答題得分者是:sryang
blue
中階會員


發表:114
回覆:105
積分:58
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-10-16 09:02:18 IP:125.227.xxx.xxx 訂閱
Hi,各位先進大家好:
因為列表中文字間距誤差問題,
小弟想將字串拆解到一 TStringList 中,
只要中文變為英文,或英文變為中文就拆開,
例如:
【Delphi】【發表】中文查碼程式(Source Code) 第二版
拆成
S[0]= 【
S[1]=Delphi
S[2]=】【發表】中文查碼程式
S[3]=(Source Code)
S[4]=第二版
S[5]=一個空白
謝謝!
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-10-17 09:48:22 IP:202.39.xxx.xxx 訂閱
用 AnsiString::IsLeadByte 由左而右逐字拆解或可達您需求!
sryang
尊榮會員


發表:38
回覆:742
積分:876
註冊:2002-06-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-10-19 11:56:18 IP:114.35.xxx.xxx 訂閱
用 AnsiString 遇到超過 BIG5 碼範圍的字元就破功了
我的方法很簡單,對於 UnicodeString 就是用 ord() 一個一個字元取字元碼,大於 255 的就當成中文字
比如「中文ABC」這一串字,每一個字元的 ord 分別是
中 = 20013
文 = 25991
A = 65
B = 66
C = 67
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
系統時間:2017-11-18 20:07:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!