我必须使用逗号(,)或制表符分隔符读取文本文件。如果这不可能plz建议我任何方式阅读像reg exp或类似的东西.. 这是示例文件
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 :(得分: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);