1

私が以下のような文字列を持っていたとしましょう

data = "/phones/pages/nokia_overview.aspx pid=46&cid=raj 80"

今、私は文字列から/最大までのURLをフェッチしたいと思い.aspxます。.aspxつまり、実際には上記のように多くの文字列が存在する可能性がありますが、文字列の残りの部分を無視して、文字列の先頭から拡張子までの文字列をフェッチしたいと思います。.aspx

ここでは、文字列の長さが異なる場合があります。これは、URLが大きくなることもあれば、小さくなることもあるため、.aspx拡張子に基づいて、上記の文字列からURLを取得する必要があるためです。

誰かがPythonでこれを行う方法を教えてもらえますか

4

2 に答える 2

4

これは標準のログ形式であるため、次のようにすることができます。

>>> s = "2012-11-04 23:00:07 10.1.151.54 GET /pages/index.aspx - 80 - 10.1.151.5
9 - 200 0 64 374"
>>> s.split()[4]
'/pages/index.aspx'

/phones/pages/nokia_overview.aspx pid=46&cid=raj 80前に述べた完全な文字列から、いくつかの要件に従っていくつかの操作を実行することで、すでにいくつかの文字列を取得しています。私の意図は.aspx、質問で言及した上記の文字列から必要な文字列を取得することです

>>> s = "/phones/pages/nokia_overview.aspx pid=46&cid=raj 80"
>>> s.split()[0]
'/phones/pages/nokia_overview.aspx'
于 2012-11-07T05:35:12.297 に答える
1

最初/次の ' ' からカットする単純な機能

def pathPart(s):
    pos_slash = s.find('/')
    if pos_slash < 0: pos_slash = len(s)
    pos_space = s.find(' ', pos_slash)
    if pos_space < 0: pos_space = len(s)
    return s[pos_slash : pos_space]
于 2012-11-07T06:01:15.337 に答える