-1

以下のように、いくつかの HTML コードで解析されているリンクがあります。

"http://advert.com/go/2/12345/0/http://truelink.com/football/abcde.html?"

私がやろうとしているのは、コードの 2 番目の http から始まる 2 番目の部分を抽出することです。したがって、上記の場合、抽出したい

"http://truelink.com/football/abcde.html?"

URL をセグメントに分割することを検討しましたが、時間の経過とともに構造が最初の部分と同じままになるかどうかはわかりません。

「http」の 2 番目の出現を識別し、そこから最後までコードを解析することは可能ですか?

4

2 に答える 2

3
link = "http://advert.com/go/2/12345/0/http://truelink.com/football/abcde.html?"

link[link.rfind("http://"):]

戻り値:

"http://truelink.com/football/abcde.html?"

これが私がすることです。rfind"http" の最後の出現を見つけ、インデックスを返します。この出現は明らかに、例の実際の元の URL です。次に、そのインデックスで始まる部分文字列を最後まで抽出できます。

したがって、文字列がある場合myStr、配列のような式を使用して Python で部分文字列が抽出されます。

myStr[0]    # returns the first character
myStr[0:5]  # returns the first 5 letters, so that 0 <= characterIndex < 5
myStr[5:]   # returns all characters from index 5 to the end of the string
myStr[:5]   # is the same like myStr[0:5]
于 2015-06-06T21:11:22.480 に答える
0

私はこのようなことをします:

addr = "http://advert.com/go/2/12345/0/http://truelink.com/football/abcde.html?"
httpPart = 'http://'
split = addr.split(httpPart)
res = []
for str in split:
    if (len(str) > 0):
        res.append(httpPart+str);
print res
于 2015-06-06T21:20:48.770 に答える