2

Web アプリからダウンロードしたこのコンテンツを含む CSV ファイルがあります。

Date,Name
2013-10-09T12:11:00+01:00,SomeName
2013-10-09T12:15:00+01:00,OtherName

今、ダウンロードしたファイルの内容が正しいかどうかを確認する Behat シナリオを書いているので、私のステップ定義には、ダウンロードする必要がある CSV ファイルを表す HEREDOC 文字列があります。

$expectedData = <<<CSV
Date,Name
2013-10-09T12:11:00+01:00,SomeName
2013-10-09T12:15:00+01:00,OtherName

CSV;

私がやりたいことは、文字列に表示される日付$expectedDataを正規表現に置き換えることです。これは、私の Behat シナリオでは、ダウンロードしたファイルにどの日付が表示されるかわからないためです...可能ですか?

PSこの質問の質については申し訳ありませんが、私はこれらすべての言語/ツール/フレームワークに非常に慣れていません...

4

2 に答える 2

4

/mはい、 (MULTILINE) スイッチを使用して実行できることを確認してください。このコードを試してください:

$expectedData = <<<CSV
Date,Name
2013-10-09T12:11:00+01:00,SomeName
2013-10-09T12:15:00+01:00,OtherName
CSV;

$re = '/^.+$/'; // some regex here to be placed in 1st column

echo preg_replace('/^(=\d{4}-\d{2}-\d{2})[^,]+/m', $re, $expectedData);

出力:

Date,Name
/^.+$/,SomeName
/^.+$/,OtherName
于 2013-10-10T12:22:33.403 に答える
0

の値は通常の文字列なので、や など$expectedDataの関数で使用できます。str_replace()preg_replace()

于 2013-10-10T12:20:29.110 に答える