我會增加出現在文本文件中的所有數字。該文件包含頁碼索引,但所有頁碼都需要增加'x'頁數,以考慮索引寫入之前引入的其他介紹性頁面。如何用較大的數字替換文本文件中的數字?
例如,
理念
頭腦的44-45
物理學202,213的,219
哲學論點
電感33
演繹89,102
由於!
我會增加出現在文本文件中的所有數字。該文件包含頁碼索引,但所有頁碼都需要增加'x'頁數,以考慮索引寫入之前引入的其他介紹性頁面。如何用較大的數字替換文本文件中的數字?
例如,
理念
頭腦的44-45
物理學202,213的,219
哲學論點
電感33
演繹89,102
由於!
這應該是一個相當簡單的任務preg_replace_callback
。
$str = preg_replace_callback('/(\d+)/', function($nums) { return $nums[0] + 1; }, $str);
的正則表達式匹配的號碼,並且回調返回每個號碼給替換函數的遞增版本。
您也可以將帶有增量值的變量傳遞給回調函數use
,而不是在其中對其進行硬編碼。
$increment = 5;
$str = preg_replace_callback('/(\d+)/', function($nums) use ($increment) {
return $nums[0] + $increment;
}, $str);
注意,這裏假設你已經知道如何讀取文件內容,並將其寫回,你只是不知道該怎麼做了更換。
我引用:*「來吧夥計們,這是一行代碼。」* - 這是多個行* lo!* –
@ Fred-ii-這是一行 - ish :) –
好的... *'ish *它是:-)) –
目前你的代碼是什麼? – z3nth10n
您需要**嘗試自己編寫代碼**。在[**做更多的研究**之後](https://meta.stackoverflow.com/q/261592/1011527)如果你有問題**發佈你已經嘗試了**的**明確的解釋不工作**並提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。閱讀[如何問](http://stackoverflow.com/help/how-to-ask)一個很好的問題。請務必[參觀](http://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/1011527)。 –
很高興看到您爲了自己解決這個問題而嘗試了什麼,這會告訴我們您在發佈問題之前已經研究過這個問題。 當你嘗試,你也學習。如果有人只是給你一個答案/解決方案,那就沒有用,我說這是爲了你的未來。 然後,您可以編輯您的帖子以包含可能失敗的內容;即使這表明了你的努力,我們總是很樂意幫助:-) –