Python lấy chuỗi sau lần xuất hiện cuối cùng của ký tự

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Trình chỉnh sửa mã Python

Có một cách khác để giải quyết giải pháp này?

Trước. Viết chương trình Python để đếm và hiển thị các nguyên âm của một văn bản nhất định.
Tiếp theo. Viết chương trình Python để tìm ký tự không lặp lại đầu tiên trong chuỗi đã cho

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Chia sẻ Hướng dẫn / Bài tập này trên. FacebookTwitter

con trăn. Lời khuyên trong ngày

Trình kiểm tra đảo chữ

Một cách đơn giản để tiếp cận điều này là sử dụng hàm được sắp xếp của Python. Nếu 2 từ là đảo chữ thì chúng phải giống nhau khi cả hai được sắp xếp theo thứ tự

Python hỗ trợ cắt chỉ mục tiêu cực cùng với cắt theo hướng tích cực. Chỉ mục phủ định bắt đầu từ -1 đến -[iterable_length]. Chúng tôi sẽ sử dụng phép cắt âm để lấy các phần tử từ cuối một lần lặp

  • Chỉ mục -1 giúp bạn lấy phần tử cuối cùng từ phần tử có thể lặp lại
  • Chỉ mục -2 giúp bạn có được phần tử cuối cùng thứ 2 từ phần tử có thể lặp lại
  • Và nó tiếp tục cho đến phần tử đầu tiên

Hãy xem một ví dụ

name = 'Geekflare'
print[name[-1]]
print[name[-len[name]]]

Chương trình trên sẽ in các ký tự cuối cùng và đầu tiên của chuỗi bằng cách sử dụng chỉ mục phủ định

Làm cách nào để xóa phần tử cuối cùng khỏi chuỗi bằng cách cắt? . Chúng tôi biết cách trích xuất một phần của chuỗi bằng cách cắt. Hãy áp dụng điều tương tự với chỉ số âm để xóa ký tự cuối cùng khỏi chuỗi

  • Cắt chuỗi từ đầu đến cuối trước phần tử
buggy_name = 'GeekflareE'
name = buggy_name[:-1]
print[name]

Hãy tập trung vào dòng thứ hai trong đoạn mã trên. Đó là dòng ma thuật trong mã. Là một phép cắt truyền thống, nó trích xuất chuỗi con từ chỉ mục bắt đầu đến cuối cùng nhưng một phép cắt bỏ qua phần tử chỉ mục thứ hai đã cho

Bạn sẽ nhận được Geekflare dưới dạng đầu ra nếu chạy đoạn mã trên

dải băng

Phương thức chuỗi rstrip xóa các ký tự ở phía bên phải của chuỗi được cấp cho nó. Vì vậy, chúng ta có thể sử dụng nó để loại bỏ phần tử cuối cùng của chuỗi. Chúng tôi không phải viết nhiều hơn một dòng mã để xóa ký tự cuối cùng khỏi chuỗi

  • Cung cấp phần tử cuối cùng cho phương thức dải, nó sẽ trả về chuỗi bằng cách xóa ký tự cuối cùng

Hãy xem đoạn mã

buggy_name = 'GeekflareE'
name = buggy_name.rstrip[buggy_name[-1]]
print[name]

Chúng tôi đã cung cấp ký tự cuối cùng của chuỗi cho phương thức dải. Nó xóa ký tự cuối cùng khỏi chuỗi và trả về một bản sao không có ký tự cuối cùng

Nó sẽ in Geekflare trong bảng điều khiển, nếu bạn thực hiện nó

Ví dụ thực tế – loại bỏ từ cuối cùng

Vâng, chúng tôi sẽ áp dụng những gì chúng tôi có trong các phần trước trong một ví dụ thực tế

Giả sử chúng ta có một tệp chứa nhiều dòng văn bản. Và chúng ta cần xóa từ cuối cùng khỏi mỗi dòng trong tệp

Thực hiện theo các bước dưới đây để viết chương trình

  • Tạo một tệp có tên random_text. txt và trang một vài dòng văn bản trong đó
  • Khởi tạo biến dữ liệu dưới dạng chuỗi rỗng
  • Mở tệp bằng phương thức với và mở ở chế độ đọc và ghi
  • Đọc nội dung của tệp bằng phương thức readlines
  • Lặp lại qua từng dòng nội dung
    • Tách dòng văn bản bằng phương pháp tách dòng trong word
    • Xóa từ cuối cùng bằng một trong các phương pháp trên
    • Tham gia kết quả để tạo thành một chuỗi
    • Nối kết quả vào biến dữ liệu
  • Xóa dữ liệu khỏi tệp bằng các phương pháp tìm kiếm và rút gọn 
  • Ghi dữ liệu mới nhất vào tệp bằng phương thức ghi 

Tệp chứa dữ liệu sau

This is a sample line for testing. LastWord.
This is a sample line for testing. KillingIt.
This is a sample line for testing. RandomWord.
This is a sample line for testing. DeleteIt.
This is a sample line for testing. RemovingIt.

Xem mã dưới đây

updated_data = ''

# opening the file
with open['random_text.txt', 'r+'] as file:
    # read the file content
    file_content = file.readlines[]

    # iterate over the content
    for line in file_content:

        # removing last word
        updated_line = ' '.join[line.split[' '][:-1]]

        # appending data to the variable
        updated_data += f'{updated_line}\n'

    # removing the old data
    file.seek[0]
    file.truncate[]

    # writing the new data
    file.write[updated_data]

Nếu bạn thực thi đoạn mã trên với tệp đã cho, thì tệp sẽ có dữ liệu được cập nhật như sau

Làm cách nào để tìm lần xuất hiện cuối cùng của một ký tự trong chuỗi bằng Python?

Phương thức rfind[] tìm lần xuất hiện cuối cùng của giá trị đã chỉ định. Phương thức rfind[] trả về -1 nếu không tìm thấy giá trị.

Làm cách nào để tìm lần xuất hiện thứ hai của một ký tự trong chuỗi bằng Python?

Sử dụng phương thức find[] .
def find_string[txt, str1]
trả lại txt. tìm [str1, txt. tìm[str1]+1]
string = input["Nhập chuỗi. "]
substring = input["Nhập chuỗi con. "]
print["Chỉ số của lần xuất hiện thứ hai của chuỗi con. ", find_string[chuỗi, chuỗi con]]

Chủ Đề