Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

Tôi có một chuỗi. Làm cách nào để xóa tất cả văn bản sau một ký tự nhất định? .
The text after will ... change so I that's why I want to remove all characters after a certain one.

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

wjandrea

25.2k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng8 gold badges53 silver badges74 bronze badges

Khi được hỏi ngày 24 tháng 5 năm 2009 lúc 21:56May 24, 2009 at 21:56

0

Chia trên thiết bị phân tách của bạn nhiều nhất một lần và lấy mảnh đầu tiên:

sep = '...'
stripped = text.split(sep, 1)[0]

Bạn đã không nói những gì sẽ xảy ra nếu máy phân tách không có mặt. Cả hai giải pháp này và Alex sẽ trả lại toàn bộ chuỗi trong trường hợp đó.

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

wjandrea

25.2k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng8 gold badges53 silver badges74 bronze badges

Khi được hỏi ngày 24 tháng 5 năm 2009 lúc 21:56May 24, 2009 at 22:01

Chia trên thiết bị phân tách của bạn nhiều nhất một lần và lấy mảnh đầu tiên:Ned Batchelder

Bạn đã không nói những gì sẽ xảy ra nếu máy phân tách không có mặt. Cả hai giải pháp này và Alex sẽ trả lại toàn bộ chuỗi trong trường hợp đó.71 gold badges554 silver badges650 bronze badges

4

Đã trả lời ngày 24 tháng 5 năm 2009 lúc 22:01

text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string

Ned Batchelderned Batchelder

354K71 Huy hiệu vàng554 Huy hiệu bạc650 Huy hiệu Đồng

Giả sử phân tách của bạn là '...', nhưng nó có thể là bất kỳ chuỗi nào.

Nếu không tìm thấy dấu phân cách,

text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
1 sẽ chứa tất cả các chuỗi gốc.

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

wjandrea

25.2k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng8 gold badges53 silver badges74 bronze badges

Khi được hỏi ngày 24 tháng 5 năm 2009 lúc 21:56May 24, 2009 at 22:02

Chia trên thiết bị phân tách của bạn nhiều nhất một lần và lấy mảnh đầu tiên:Ayman Hourieh

Bạn đã không nói những gì sẽ xảy ra nếu máy phân tách không có mặt. Cả hai giải pháp này và Alex sẽ trả lại toàn bộ chuỗi trong trường hợp đó.22 gold badges141 silver badges116 bronze badges

5

Đã trả lời ngày 24 tháng 5 năm 2009 lúc 22:01

text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
4

Ned Batchelderned Batchelder

354K71 Huy hiệu vàng554 Huy hiệu bạc650 Huy hiệu ĐồngSep 14, 2015 at 22:18

Giả sử phân tách của bạn là '...', nhưng nó có thể là bất kỳ chuỗi nào.theannouncer

Nếu không tìm thấy dấu phân cách,

text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
1 sẽ chứa tất cả các chuỗi gốc.16 silver badges28 bronze badges

1

Hàm phân vùng đã được thêm vào trong Python 2.5.

def remafterellipsis(text):
  where_ellipsis = text.find('...')
  if where_ellipsis == -1:
    return text
  return text[:where_ellipsis + 3]

text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
2 ->
text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
3

import re

def remwithre(text, there=re.compile(re.escape('...')+'.*')):
  return there.sub('', text)

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

wjandrea

25.2k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng8 gold badges53 silver badges74 bronze badges

Tìm kiếm phân tách SEP trong S và trả về phần trước đó, chính dấu phân cách và phần sau nó. Nếu không tìm thấy dấu phân cách, trả về S và hai chuỗi trống.May 24, 2009 at 22:00

Đã trả lời ngày 24 tháng 5 năm 2009 lúc 22:02Alex Martelli

Ayman Houriehayman Hourieh164 gold badges1205 silver badges1385 bronze badges

3

import re
test = "This is a test...we should not be able to see this"
res = re.sub(r'\.\.\..*',"",test)
print(res)

127K22 Huy hiệu vàng141 Huy hiệu bạc116 Huy hiệu đồng

Nếu bạn muốn xóa mọi thứ sau lần xuất hiện cuối cùng của dấu phân cách trong chuỗi, tôi thấy điều này hoạt động tốt:Feb 26, 2020 at 14:12

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

Ví dụ: nếu

text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
5 là một đường dẫn như
text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
6 và bạn chỉ muốn đường dẫn thư mục, bạn có thể chia bằng
text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
7 và bạn sẽ nhận được
text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')

>>> print head
some string
8Marcus

Đã trả lời ngày 14 tháng 9 năm 2015 lúc 22:181 silver badge4 bronze badges

1

TheAnnouncertheannouncer

import re
sep = '...'

with open("requirements.txt") as file_in:
    lines = []
    for line in file_in:
        res = line.split(sep, 1)[0]
        print(res)

1.11116 Huy hiệu bạc28 Huy hiệu đồngMar 19, 2020 at 23:42

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

Không có biểu thức chính quy (mà tôi giả sử là những gì bạn muốn):

mystring = "123⋯567"
mystring[ 0 : mystring.index("⋯")]

>> '123'

Hoặc, với một biểu thức chính quy:

Đã trả lời ngày 24 tháng 5 năm 2009 lúc 22:00Jun 18, 2020 at 2:42

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

Alex Martellialex Martelli

829K164 Huy hiệu vàng1205 Huy hiệu bạc1385 Huy hiệu Đồng
split_string = fees.split(".", 1)

Đầu ra: "Đây là một thử nghiệm"

print(substring)

Đã trả lời ngày 26 tháng 2 năm 2020 lúc 14:12Mar 3, 2021 at 10:54

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

MarcusmarcusGanesan J

691 Huy hiệu bạc4 Huy hiệu đồng6 silver badges11 bronze badges

Từ một tập tin:

path = 'I/only/want/the/containing/directory/not/the/file.txt'

while path[-1] != '/':
    path = path[:-1]

Đã trả lời ngày 19 tháng 3 năm 2020 lúc 23:42May 25, 2021 at 22:18

1

Phương thức tìm sẽ trả về vị trí ký tự trong một chuỗi. Sau đó, nếu bạn muốn xóa mọi thứ khỏi nhân vật, hãy làm điều này:

import re, clr

text = 'some string... this part will be removed.'

text= re.search(r'(\A.*)\.\.\..+',url,re.DOTALL|re.IGNORECASE).group(1)

// text = some string

Hướng dẫn how do you delete everything after last in python? - làm thế nào để bạn xóa mọi thứ sau lần cuối trong python?

Nếu bạn muốn giữ nhân vật, hãy thêm 1 vào vị trí ký tự.May 20, 2015 at 10:42

1