我会增加出现在文本文件中的所有数字。该文件包含页码索引,但所有页码都需要增加'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)。 –
很高兴看到您为了自己解决这个问题而尝试了什么,这会告诉我们您在发布问题之前已经研究过这个问题。 当你尝试,你也学习。如果有人只是给你一个答案/解决方案,那就没有用,我说这是为了你的未来。 然后,您可以编辑您的帖子以包含可能失败的内容;即使这表明了你的努力,我们总是很乐意帮助:-) –