dqyy38265 2012-07-12 07:18
浏览 28
已采纳

在txt文件中搜索,总和+1并写入文件

Good day guys,

I am really nowhere to the guy who do PHP coding, so I am asking you.

I have file in txt format and in that file somewhere I am having line with "count: (n)", where "(n)" can be any numeric value.

I need to search for count: (n), take the (n) value, sum it with +1 and save the file again.

So if I will have count: 10 it must be 10 + 1 = 11.

Thank you!

  • 写回答

1条回答 默认 最新

  • doulu3808 2012-07-12 07:25
    关注

    You'll probably want to use some regex to parse the 'count: n' string from the file. Although my regex is kind of rusty, this pattern might help:

    $file = fopen('text.txt', 'r+'); // Open the file for reading and writing into the variable $file.
    $fileContents = file_get_contents($file); // Load the contents of the file to variable $fileContents.
    
    $countString = preg_match('/count: [0-9]+/', $fileContents); // Find instances of string 'count: n' where n is an integer, load the string into $countString.
    $count = preg_match('/[0-9]+/', $countString); // Find the integer from $countString, load into $count.
    $count++; // Iterate count up one.
    
    $newCountString = 'count: '.$count; // The 'count: n+1' string where n is the original integer.
    
    $newFileContents = preg_replace('/count: [0-9]+/', $newCountString, $fileContents); // Find the string 'count: n' and replace with 'count: n+1' where n is the original integer.
    fwrite($file, $newFileContents); // Write the new contents into the file.
    fclose($file);
    

    Good luck!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab