dsjpik057730 2016-05-23 14:46
浏览 162
已采纳

在Python中Php等效于substr和strpos

I try to transform this php-function into Python:

function trouveunebrique($contenu, $debut, $fin) {
  $debutpos = strpos($contenu, $debut);
  $finpos = strpos($contenu, $fin, $debutpos);
  if ($finpos == 0) {
    $finpos = strlen($contenu);
  }
  $nbdebut = strlen($debut);
  if ($debutpos > 0) {
    $trouveunebrique = substr($contenu, ($debutpos + $nbdebut), ($finpos - $debutpos - $nbdebut));
  } 
  else {
    $trouveunebrique = "";
  }

  return (trim($trouveunebrique));
}

I searched here but i could't find the solution. I also tried this:

   def trouveunebrique(contenu, debut, fin)
        debutpos = haystack.find(contenu, debut)
        finpos = haystack.find(contenu, fin)
        if (finpos == 0)
            finpos = len(contenu)
        nbdebut = len(debut)
        if (debutpos > 0):
            trouveunebrique = substr(contenu, (debutpos + nbdebut), (finpos - debutpos - nbdebut))
        else:
            trouveunebrique = ""
        return trouveunebrique.strip()
  • 写回答

2条回答 默认 最新

  • dsjhejw3232 2016-05-23 15:09
    关注

    To get substrings in Python (and any subsequences for that matter) use slice notation, which is similar to indexing but contains at least one colon between brackets:

    >>> "Hello world"[4:7]
    'o w'
    >>> "Hello world"[:3]
    'Hel'
    >>> "Hello world"[8:]
    'rld'
    

    You figured out strpos() equivalent already: str.find() method on string objects. Also note that you can provide an additional index to it like in your PHP function:

    debutpos = contentu.find(debut)
    # ...
    finpos = contenu.find(fin, debutpos)
    

    It returns -1 when substring is not found. Otherwise, it behaves like PHP equivalent.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多