2014-03-26 114 views
1

我必須用逗號(,)或製表符分隔符來讀取文本文件。如果這是不可能PLZ建議我沒有辦法念想REG EXP或類似的東西.. 下面是示例文件使用phpexcel逗號或製表符分隔符讀取文本文件

Transaction Date  Transaction Description  Transaction Debit Transaction Credit 
    18/03/2014,  'POS Transaction 7400000000',  212.00,   ' ', 
    14/03/2014,  'POS Transaction 770000000',  202.95,   ' ', 
    14/03/2014,  'POS Transaction 77631000000',  202.95,   ' ', 
    14/03/2014,  'REV POS Purchase77100000000',  ' ',   202.95 
    11/03/2014,  'MB - Qtel Hala TopUp 50109671 ,QTEL REF:QI3283',30.00 ' ', 
    10/03/2014,  'MB - VODAFONERED35',    35.00,   ' ', 
    08/03/2014,  'MB - Qtel Bill Payment 446748 , QTEL REF:QIB13295320',250.00,' ', 
    03/03/2014,  'MB-Transfer from 100248417 to 100222077', '5,000.00', ' ', 
    01/03/2014,  'POS Transaction 40501048',   207.85, ' ', 
    27/02/2014,  'TFR:000019-Payment - Automatic Loan Pymt W/D','2,880.00',' ', 
    27/02/2014,  'TFR:000005-Payment - Automatic Loan Pymt W/D','2,771.00',' ', 
    27/02/2014,  'ATM Withdraw 0058',     '4,000.00',' ', 
    27/02/2014,  'ATM Withdraw 0058',     '5,000.00',' ', 
    27/02/2014,  'MB-Transfer from 109812 to 10017', ' ',  500.00 
    27/02/2014,  'MB-Transfer from 10892 to 100417', ' ',  500.00 

回答

0

試試這個匹配所有逗號分隔值,如果逗號之間未來會忽略數

$f= file("statement.txt"); //if from text file 

foreach($f as $dailystatmet) 
{ 

     preg_match_all("/('?\d+,\d+\.\d+)?([a-zA-Z]|[0-9]|)[^,]+/",$dailystatmet,$matches); 

     var_dump($matches); 
} 

$dailystatmet="18/03/2014,'POS Transaction 7400000000',212.00,' ', 14/03/2014"; 
preg_match_all("/('?\d+,\d+\.\d+)?([a-zA-Z]|[0-9]|)[^,]+/",$dailystatmet,$matches); 
var_dump($matches); 
+0

由於4烏爾快速回答了真正有用的...什麼生根粉製表符分隔文件.. – user3462933

+0

對於標籤替換逗號,\ t即/('?\ d +, \ d + \ \ d +)([A-ZA-Z] |。?[0-9] |)[^ \噸] + / – Shafeeq

相關問題