【问题标题】:PHP/Python Replace first string in a line with another string [closed]PHP / Python用另一个字符串替换一行中的第一个字符串[关闭]
【发布时间】:2013-08-28 20:45:55
【问题描述】:

我正在尝试用“空格”替换第一个“:”,但我不知道该怎么做! 也许你们可以帮助我。

在文本中:

ab:cd:ef:gh:ij:kl:mn
12:ab:c2:f3 303:mx:
dk:ad:Y4:D3
12:31:44:aC:210 sda:

输出将是:

ab cd:ef:gh:ij:kl:mn
12 ab:c2:f3 303:mx:
dk ad:Y4:D3
12 31:44:aC:210 sda:

也许你可以帮帮我。

提前致谢

【问题讨论】:

  • 你有没有尝试过?这些行是在某个文件中,还是作为字符串的一部分?还是它们都是不同的字符串?
  • 你看过PHP中str_replace()的文档吗?它有你需要的一切。

标签: php python regex string output


【解决方案1】:

在python中,

a = 'ab:cd:ef:gh:ij:kl:mn'
a = a.replace(':', ' ', 1)

产量

ab cd:ef:gh:ij:kl:mn

【讨论】:

    【解决方案2】:

    你可以在php中使用:

    $result = preg_replace('~^[^:]*\K:~m', ' ', $text); 
    

    地点:

    [^:] 表示除:以外的所有字符

    \K重置之前的所有匹配。

    m 代表多行模式(起始锚^ 表示行的开始,而不是默认的字符串的开始)

    【讨论】:

      【解决方案3】:

      这样的东西在 PHP 中应该可以工作:

      $output = preg_replace("/(^.*?):/m", "$1 ", $input);
      

      将每行的第一个 : 替换为空格。

      例如:

      $input = "ab:cd:ef:gh:ij:kl:mn
      12:ab:c2:f3 303:mx:
      dk:ad:Y4:D3
      12:31:44:aC:210 sda:";
      print "<pre>$input</pre>";
      print "--------------------";
      
      $output = preg_replace("/(^.*?):/m", "$1 ", $input);
      
      print "<pre>$output</pre>";
      

      会输出

      ab:cd:ef:gh:ij:kl:mn 
      12:ab:c2:f3 303:mx: 
      dk:ad:Y4:D3 
      12:31:44:aC:210 sda:
      --------------------
      ab cd:ef:gh:ij:kl:mn 
      12 ab:c2:f3 303:mx: 
      dk ad:Y4:D3 
      12 31:44:aC:210 sda:
      

      【讨论】:

        猜你喜欢
        • 2013-12-03
        • 2021-06-15
        • 2018-05-19
        • 1970-01-01
        • 2014-12-23
        • 2012-09-11
        • 2019-05-14
        • 1970-01-01
        • 2021-12-01
        相关资源
        最近更新 更多