Hướng dẫn how do you get everything after the last slash in python? - làm thế nào để bạn có được mọi thứ sau lần chém cuối cùng trong python?

Làm thế nào tôi có thể trích xuất bất cứ điều gì sau khi chém cuối cùng trong một url trong Python? Ví dụ, các URL này sẽ trả về như sau:

URL: http://www.test.com/TEST1
returns: TEST1

URL: http://www.test.com/page/TEST2
returns: TEST2

URL: http://www.test.com/page/page/12345
returns: 12345

Tôi đã thử Urlparse, nhưng điều đó mang lại cho tôi tên tệp đường dẫn đầy đủ, chẳng hạn như

url.rsplit('/', 1)[-1]
0.

Hướng dẫn how do you get everything after the last slash in python? - làm thế nào để bạn có được mọi thứ sau lần chém cuối cùng trong python?

Remi guan

20,5K17 Huy hiệu vàng62 Huy hiệu bạc83 Huy hiệu đồng17 gold badges62 silver badges83 bronze badges

Hỏi ngày 31 tháng 8 năm 2011 lúc 7:23Aug 31, 2011 at 7:23

Hướng dẫn how do you get everything after the last slash in python? - làm thế nào để bạn có được mọi thứ sau lần chém cuối cùng trong python?

5

Bạn không cần những thứ lạ mắt, chỉ cần xem các phương thức chuỗi trong thư viện tiêu chuẩn và bạn có thể dễ dàng phân chia URL của mình giữa phần 'tên tệp' và phần còn lại:

url.rsplit('/', 1)

Vì vậy, bạn có thể nhận được phần bạn quan tâm đơn giản với:

url.rsplit('/', 1)[-1]

Hướng dẫn how do you get everything after the last slash in python? - làm thế nào để bạn có được mọi thứ sau lần chém cuối cùng trong python?

Remi guan

20,5K17 Huy hiệu vàng62 Huy hiệu bạc83 Huy hiệu đồng17 gold badges62 silver badges83 bronze badges

Hỏi ngày 31 tháng 8 năm 2011 lúc 7:23Aug 31, 2011 at 7:28

Luke404Luke404Luke404

Bạn không cần những thứ lạ mắt, chỉ cần xem các phương thức chuỗi trong thư viện tiêu chuẩn và bạn có thể dễ dàng phân chia URL của mình giữa phần 'tên tệp' và phần còn lại:3 gold badges24 silver badges31 bronze badges

6

Vì vậy, bạn có thể nhận được phần bạn quan tâm đơn giản với:

URL.split("/")[-1]

Đã trả lời ngày 31 tháng 8 năm 2011 lúc 7:28Aug 31, 2011 at 7:31

9,9023 Huy hiệu vàng24 Huy hiệu bạc31 Huy hiệu ĐồngKimvais

Một (idio (ma) tic) theo cách:16 gold badges107 silver badges140 bronze badges

2

Đã trả lời ngày 31 tháng 8 năm 2011 lúc 7:31

In [1]: 'http://www.test.com/page/TEST2'.rsplit('/', 1)[1]
Out[1]: 'TEST2'

Hỏi ngày 31 tháng 8 năm 2011 lúc 7:23Aug 31, 2011 at 7:28

0

Bạn không cần những thứ lạ mắt, chỉ cần xem các phương thức chuỗi trong thư viện tiêu chuẩn và bạn có thể dễ dàng phân chia URL của mình giữa phần 'tên tệp' và phần còn lại:

head, tail = os.path.split(url)

Vì vậy, bạn có thể nhận được phần bạn quan tâm đơn giản với:

Đã trả lời ngày 31 tháng 8 năm 2011 lúc 7:28Sep 20, 2013 at 13:53

9,9023 Huy hiệu vàng24 Huy hiệu bạc31 Huy hiệu Đồngneowinston

Một (idio (ma) tic) theo cách:10 gold badges51 silver badges83 bronze badges

1

Đã trả lời ngày 31 tháng 8 năm 2011 lúc 7:31

import urllib.parse

urls = [
    'http://www.test.com/TEST1',
    'http://www.test.com/page/TEST2',
    'http://www.test.com/page/page/12345',
    'http://www.test.com/page/page/12345?abc=123'
]

for i in urls:
    url_parts = urllib.parse.urlparse(i)
    path_parts = url_parts[2].rpartition('/')
    print('URL: {}\nreturns: {}\n'.format(i, path_parts[2]))

Output:

URL: http://www.test.com/TEST1
returns: TEST1

URL: http://www.test.com/page/TEST2
returns: TEST2

URL: http://www.test.com/page/page/12345
returns: 12345

URL: http://www.test.com/page/page/12345?abc=123
returns: 12345

KimvaiskimvaisApr 4, 2013 at 5:51

37.3K16 Huy hiệu vàng107 Huy hiệu bạc140 Huy hiệu đồngJacob Wan

url.rsplit('/', 1)[-1]
1 nên tùy thuộc vào nhiệm vụ:21 silver badges19 bronze badges

2

os.path.basename(os.path.normpath('/folderA/folderB/folderC/folderD/'))
>>> folderD

Bạn có thể làm như thế này:Jan 15, 2019 at 5:01

Nơi đuôi sẽ là tên tệp của bạn.Rochan

Đã trả lời ngày 20 tháng 9 năm 2013 lúc 13:531 gold badge13 silver badges15 bronze badges

2

Neowinstonneowinston

url.rsplit('/', 1)
0

7.44610 Huy hiệu vàng51 Huy hiệu bạc83 Huy hiệu đồngApr 12, 2018 at 14:32

Urlparse là tốt để sử dụng nếu bạn muốn (giả sử, để loại bỏ bất kỳ tham số chuỗi truy vấn nào).sandoronodi

Đã trả lời ngày 4 tháng 4 năm 2013 lúc 5:512 silver badges11 bronze badges

1

Jacob Wanjacob Wan

url.rsplit('/', 1)
1

2.36321 Huy hiệu bạc19 Huy hiệu đồng

url.rsplit('/', 1)
2

Đã trả lời ngày 15 tháng 1 năm 2019 lúc 5:01

RochanrochanSep 19, 2011 at 9:22

1.2941 Huy hiệu vàng13 Huy hiệu bạc15 Huy hiệu đồngtzot

Đây là một cách nói chung, Regex để làm điều này:29 gold badges137 silver badges201 bronze badges

2

Đã trả lời ngày 12 tháng 4 năm 2018 lúc 14:32

url.rsplit('/', 1)
3

Sandoronodisandoronodi: if your url ends with a

url.rsplit('/', 1)[-1]
4 character, the above will return
url.rsplit('/', 1)[-1]
6 (i.e. the empty string). If you want to handle that case differently, you need to strip the last trailing
url.rsplit('/', 1)[-1]
4 character before you split the path:

url.rsplit('/', 1)
4

3162 huy hiệu bạc11 huy hiệu đồngNov 18, 2020 at 22:01

Đầu tiên trích xuất phần tử đường dẫn từ URL:

url.rsplit('/', 1)
5

yields:

url.rsplit('/', 1)
6

Và sau đó bạn có thể trích xuất phân đoạn cuối cùng với các hàm chuỗi:Dec 22, 2021 at 9:32

url.rsplit('/', 1)
7

Hỏi ngày 31 tháng 8 năm 2011 lúc 7:23Aug 31, 2011 at 7:28

Bạn không cần những thứ lạ mắt, chỉ cần xem các phương thức chuỗi trong thư viện tiêu chuẩn và bạn có thể dễ dàng phân chia URL của mình giữa phần 'tên tệp' và phần còn lại:fardjad

Vì vậy, bạn có thể nhận được phần bạn quan tâm đơn giản với:6 gold badges50 silver badges67 bronze badges

0

Đã trả lời ngày 31 tháng 8 năm 2011 lúc 7:28

9,9023 Huy hiệu vàng24 Huy hiệu bạc31 Huy hiệu ĐồngMay 19, 2017 at 9:16

Hướng dẫn how do you get everything after the last slash in python? - làm thế nào để bạn có được mọi thứ sau lần chém cuối cùng trong python?

Một (idio (ma) tic) theo cách:Atul Yadav

Đã trả lời ngày 31 tháng 8 năm 2011 lúc 7:311 gold badge13 silver badges15 bronze badges

Kimvaiskimvais

url.rsplit('/', 1)
8

37.3K16 Huy hiệu vàng107 Huy hiệu bạc140 Huy hiệu đồngJun 10, 2021 at 8:58

Hướng dẫn how do you get everything after the last slash in python? - làm thế nào để bạn có được mọi thứ sau lần chém cuối cùng trong python?

url.rsplit('/', 1)[-1]
1 nên tùy thuộc vào nhiệm vụ:Jaimin Patel

Bạn có thể làm như thế này:3 gold badges31 silver badges35 bronze badges

url.rsplit('/', 1)
9

Nơi đuôi sẽ là tên tệp của bạn.

Đã trả lời ngày 20 tháng 9 năm 2013 lúc 13:53

Neowinstonneowinston2 gold badges24 silver badges42 bronze badges

7.44610 Huy hiệu vàng51 Huy hiệu bạc83 Huy hiệu đồngFeb 18, 2013 at 21:42

live_alonelive_alonelive_alone

Urlparse là tốt để sử dụng nếu bạn muốn (giả sử, để loại bỏ bất kỳ tham số chuỗi truy vấn nào).1 silver badge11 bronze badges

1

Làm thế nào để bạn có được chuỗi sau cuối cùng?

Để có được giá trị của một chuỗi sau lần cắt cuối cùng, hãy gọi phương thức Subring (), chuyển nó chỉ mục, sau chỉ mục cuối cùng của A / ký tự làm tham số.Phương thức chuỗi con trả về một chuỗi mới, chứa phần được chỉ định của chuỗi gốc.call the substring() method, passing it the index, after the last index of a / character as a parameter. The substring method returns a new string, containing the specified part of the original string.

Làm thế nào để bạn chia một chuỗi với một dấu gạch chéo về phía trước trong Python?

Sử dụng phương thức str.Split () để phân chia một chuỗi trên các dấu gạch chéo phía trước, ví dụ:my_list = my_str.tách ra('/') . split() method to split a string on the forward slashes, e.g. my_list = my_str. split('/') .