用Java Regular Expression 判斷字串為中文或英文 | regular expression判斷中文
今天處理資訊源提供的基金持股資料,發現同一月份的基金投資國家配置有中文版與英文版,而且是先一段英文資料行;再接下一段中文資料行,例如如下:LipperID DataDate Scheme Lang Item Percentage60000414 2009-05-31 INDSECT ENG Cash&CashEquivalent 0.5260000414 2009-05-31 INDSECT ENG ConsumerDiscretionary 6.2960000414 2009-05-31 INDSECT ENG ConsumerStaples 11.1160000414 2009-05-31 INDSECT ENG Energy 12.360000414 2009-05-31 INDSECT ENG Financials 12.360000414 2009-05-31 INDSECT TWA 現...
今天處理資訊源提供的基金持股資料, 發現同一月份的基金投資國家配置有中文版與英文版, 而且是先一段英文資料行; 再接下一段中文資料行, 例如如下:
LipperID DataDate Scheme Lang Item Percentage60000414 2009-05-31 INDSECT ENG Cash & Cash Equivalent 0.5260000414 2009-05-31 INDSECT ENG Consumer Discretionary 6.2960000414 2009-05-31 INDSECT ENG Consumer Staples 11.1160000414 2009-05-31 INDSECT ENG Energy 12.360000414 2009-05-31 INDSECT ENG Financials 12.360000414 2009-05-31 INDSECT TWA 現金與約當現金 0.5260000414 2009-05-31 INDSECT TWA 經常性消費 11.1160000414 2009-05-31 INDSECT TWA 能源 12.360000414 2009-05-31 INDSECT TWA 金融 12.360000414 2009-05-31 INDSECT TWA 非經常性消費 6.29
而資料庫表格(Table A)的欄位結構如下:column[0] Lipper_idcolumn[1] data_datecolumn[2] scheme_idcolumn[3] scheme_name //配置的英文名稱column[4] percentagecolumn[5] security_cname//配置的中文名稱
可以發現若在處理完畢英文資料進入database 之後, 中文的匯入會利用lipper_id+data_date+scheme_id+percentage (S1) as unique key. 然而當同一個配置如果有2個以上持股比例相同時(如上述的鮮紅標記) 如果使用前述的鍵組, 當Financials 匯入database之後將會replace Energy, 導致databas...