2

現在、php スクリプトを使用して .txt ファイルから情報をドラッグしようとしています。私は正規表現について読んでいて、これが理想的だと思いました。.txt ファイル内のテキストの形式は次のとおりです。

Data Rate: 20 Hz

Digital I/O Channels: 
CH1_IN,0,CH2_OUT,1,CH3_IN,0,CH4_OUT,1,CH5_IN,0,CH6_IN,0,CH7_IN,0,CH8_OUT,0,CH9_IN,0,
CH10_IN,0,CH11_OUT,1,CH12_IN,0,CH13_IN,0,CH14_IN,0,CH15_IN,0,CH16_IN,0,

QEA: Enabled

各チャネルの次の詳細を引き出しようとしています。

CH(number)_(IN or OUT),(integer)

さまざまな投稿やいくつかのチュートリアルで説明されているように、preg_split を使用してみましたが、思いどおりに動作させることができませんでした。私の理解では、以下に示すようなものが機能するはずですが、正しく使用していない可能性があります。

$log_file_data = file_get_contents('Log.txt');
$channel_detail = preg_split("/CH[0-9]{2}_[A-Z],[0-1]{1}/",$log_file_data);

私の意図は、これにより、前述のようにテキストが適切に分割されることですが、予想どおり、完全なテキスト ファイルがほとんど吐き出されるだけです。私は正しい方法を使用していますか、それとも私が達成しようとしているものに適していませんか?

任意のガイダンスをいただければ幸いです。

4

2 に答える 2

0

正規表現はまったく必要ありません。「,」で爆発すると、すべての奇数インデックスのチャネル名である配列が生成され、すべての偶数には最後のインデックスに属する整数が含まれます。

乾杯

于 2013-11-10T16:30:10.453 に答える