Hapus n karakter terakhir dari string python

Berikut adalah tutorial Python yang menunjukkan cara menghapus n karakter terakhir dari sebuah string. N karakter terakhir masih dapat dihapus dari string meskipun faktanya tidak dapat diubah. Empat metode dan fungsi Python disajikan dalam artikel ini untuk menghapus n karakter terakhir dari sebuah string

Metode 1. Menggunakan pemotongan indeks positif untuk menghapus n karakter terakhir dari sebuah string

Dengan menggunakan metode ini, pertama-tama kita akan mengenalkan dan menghitung panjang string sampel untuk mendapatkan karakter terakhir dari string tersebut, kemudian dengan menggunakan slicing pada indeks l-1 dari string sampel dengan Python, kita dapat menghapus karakter terakhir dari string tersebut

Contoh

#Introducing the sample string
str = "Codespeedy Technologyy"
#calculating the length of the string
l= len(str)
#removing the last character from positive index slicing
remove_lastchar = str[:l-1]
#print the string with the removed last character
print("string: ",remove_lastchar)

Keluaran

string: Codespeedy Technology
_

Metode 2. Menggunakan pemotongan indeks negatif

Metode ini dimulai dengan memperkenalkan string sampel dan menghapus karakter terakhir yang ada di string selalu di indeks -1 dengan Python, jadi kami mengirisnya di posisi itu menggunakan pemotongan indeks negatif dan kemudian mencetak string yang tersisa dengan karakter terakhir yang dihapus

Contoh

#Introducing the sample string
Str = "Codespeedy Technologyy"
 
#last character is always at -1 position and removing it using negative index slicing
remove_lastchar = Str[:-1]
#print the remaining string
print("String : ",remove_lastchar)

Keluaran

string: Codespeedy Technology
_

Metode 3. Menggunakan fungsi rstrip

Dengan menggunakan metode ini, mari kita ambil contoh jika kita ingin menghapus 3 karakter terakhir dari sebuah string dengan Python. Untuk menghapus 3 karakter terakhir dari string, ambil input dari pengguna dan kemudian hapus 3 karakter terakhir yang tidak diinginkan dari string menggunakan fungsi rstrip (menghapus karakter sisi kanan dari akhir string) dan akhirnya mencetak . Untuk referensi, lihat contoh yang diberikan di bawah ini

Contoh

#take the input from the user
str = input("Enter : ")
#removing the last 3 characters using rstrip function
remaining_string = str.rstrip()[:-3]
#print the string obtained after removing the characters
print("String : ",remaining_string)
_

Keluaran

Enter : Codespeedy Technologyies

String : Codespeedy Technology

Anda dapat memeriksa. Cara menghapus digit dari ujung string dengan Python

Metode 4. Menggunakan Untuk loop

Anda juga dapat menghapus n karakter terakhir dari string menggunakan perulangan for. Awalnya, panjang string sampel harus dihitung, kemudian string kosong ditambahkan untuk membuat string baru. Setelah ini, langkah selanjutnya adalah menggunakan for loop dalam kisaran indeks ke-0 hingga l-2 dari string dengan Python kemudian dengan mengulang, mengulang melalui string kosong, kami menambahkan karakter setiap kali. Pada cetakan terakhir, string terakhir diperoleh.

Python mendukung pemotongan indeks negatif bersama dengan pemotongan positif. Indeks negatif dimulai dari -1 hingga -(iterable_length). Kami akan menggunakan pemotongan negatif untuk mendapatkan elemen dari akhir iterable

  • Indeks -1 memberi Anda elemen terakhir dari iterable
  • Indeks -2 memberi Anda elemen terakhir ke-2 dari iterable
  • Dan itu berlanjut sampai elemen pertama

Mari kita lihat contohnya

name = 'Geekflare'
print(name[-1])
print(name[-len(name)])
_

Program di atas akan mencetak karakter terakhir dan pertama dari string menggunakan pengindeksan negatif

Bagaimana cara menghapus elemen terakhir dari string menggunakan pengirisan? . Kami tahu cara mengekstrak bagian dari string menggunakan pemotongan. Mari terapkan hal yang sama dengan indeks negatif untuk menghapus karakter terakhir dari string

  • Iris string dari awal hingga terakhir sebelum elemen
buggy_name = 'GeekflareE'
name = buggy_name[:-1]
print(name)

Mari fokus pada baris kedua pada kode di atas. Itulah garis ajaib dalam kode. Sebagai irisan tradisional, ini mengekstraksi substring dari indeks awal hingga terakhir tetapi satu karena pemotongan mengabaikan elemen indeks kedua yang diberikan

Anda akan mendapatkan Geekflare sebagai output jika Anda menjalankan kode di atas

rstrip

Metode string rstrip menghapus karakter dari sisi kanan string yang diberikan padanya. Jadi, kita bisa menggunakannya untuk menghapus elemen terakhir dari string. Kita tidak perlu menulis lebih dari satu baris kode untuk menghapus karakter terakhir dari string

  • Berikan elemen terakhir ke metode strip, itu akan mengembalikan string dengan menghapus karakter terakhir

Mari kita lihat cuplikan kodenya

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

Kami telah memberikan karakter terakhir dari string ke metode strip. Ini menghapus karakter terakhir dari string dan mengembalikan salinan tanpa karakter terakhir

Ini akan mencetak Geekflare di konsol, jika Anda menjalankannya

Contoh Praktis – hapus kata terakhir

Ya, kami akan menerapkan apa yang kami miliki di bagian sebelumnya dalam contoh praktis

Katakanlah kita memiliki file yang berisi banyak baris teks. Dan kita perlu menghapus kata terakhir dari setiap baris dalam file

Ikuti langkah-langkah di bawah ini untuk menulis program

  • Buat file bernama random_text. txt dan halaman beberapa baris teks di dalamnya
  • Inisialisasi variabel data sebagai string kosong
  • Buka file menggunakan metode dengan dan buka dalam mode baca dan tulis
  • Baca konten file menggunakan metode readlines
  • Ulangi setiap baris konten
    • Pisahkan baris teks menggunakan metode split dalam kata-kata
    • Hapus kata terakhir menggunakan salah satu metode di atas
    • Gabungkan hasilnya untuk membentuk string
    • Tambahkan hasilnya ke variabel data
  • Hapus data dari file menggunakan metode cari dan truncate 
  • Tulis data terbaru ke file menggunakan metode tulis

File tersebut berisi data berikut

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.
_

Lihat kode di bawah ini

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)

Jika Anda menjalankan kode di atas dengan file yang diberikan, maka file tersebut akan memiliki data yang diperbarui berikut

Bagaimana Anda menghapus n karakter terakhir dari sebuah string dengan Python?

Metode 1. Menggunakan Pengiris daftar untuk Menghapus Elemen Terakhir dari string . Teknik mengiris juga dapat menghapus elemen terakhir dari string. str[. -1] akan menghapus elemen terakhir kecuali untuk semua elemen. Di sini kita menggunakan konsep mengiris dan memperbarui string asli dengan string yang diperbarui.

Bagaimana Anda menghapus n karakter terakhir dari sebuah string?

Ada empat cara untuk menghapus karakter terakhir dari sebuah string. .
Menggunakan StringBuffer. hapusCahrAt() Kelas
Menggunakan Tali. substring() Metode
Menggunakan StringUtils. potong() Metode
Menggunakan Ekspresi Reguler

Bagaimana cara menghapus 3 karakter terakhir dari sebuah string?

Untuk menghapus tiga karakter terakhir dari string, Anda dapat menggunakan string. Substring(Int32, Int32) dan berikan indeks awal 0 dan indeks akhir tiga kurang dari panjang string . Ini akan mendapatkan substring sebelum tiga karakter terakhir.

Bagaimana Anda menghapus karakter tambahan dari string dengan Python?

String Python rstrip() . The rstrip() method removes any trailing characters (characters at the end a string), space is the default trailing character to remove.