2013-02-24 56 views
1

我想大量替換一些csv文件中的一些關鍵字,例如我有一個關鍵字列表貓,鼠標,狗我想用替換一些東西,這裏,我目前使用http://phpcsv.sourceforge.net/phpcsv-1.0.php這是完美的,它說它使用PCRE來替換值,我的問題是我需要輸入搜索和替換字段來實現這個結果?PCRE用多個字符串替換多個值

+0

你是什麼意思?你正在用PHP替換它們,那麼你在輸入什麼搜索和替換字段呢? – Jon 2013-02-24 13:22:36

+0

我正在使用http://phpcsv.sourceforge.net/phpcsv-1.0.php,它有2個字段的搜索,替換,我很抱歉,我不是一個編碼器,我不明白很多事情 – XkiD 2013-02-24 13:32:12

+0

會更容易與[ str_replace'](http://www.php.net/manual/en/function.str-replace.php)併爲它提供模式和替換的數組。 – Jon 2013-02-24 13:33:32

回答

1

你可以使用

搜索(?<=^|,)(cat|mouse|dog)(?=,|$)更換${1}2

${1}用來引用由()Search場捕獲的字符串。
通常情況下,您可以使用$1,但由於緊接着是2,因此需要將1包含在{}中。

如果這些值可能包含在"之前和之後加上"?(cat|mouse|dog)

(?<=^|,)意味着看後面必須有一行或逗號的開頭。
(?=,|$)意味着展望必須有一個逗號或行結束。

如果替換對於每個關鍵字都不相同,我認爲您必須分別進行各自的替換,例如,

搜索(?<=^|,)cat(?=,|$)更換hamster

或者,如果使用自己的代碼,你可以通過傳遞數組參數preg_replace使一次性全部替換。

+0

但是,如果我想要像貓,老鼠,狗和替換倉鼠,大象,章魚,這是我想要的東西,但我錯誤地寫了貓2等東西笏012 – XkiD 2013-02-24 17:43:13

+0

@XkiD。更新了答案。 – MikeM 2013-02-24 19:46:15