Python menghapus satu karakter dari string

Di postingan ini, Anda akan belajar cara menggunakan Python untuk menghapus karakter dari sebuah string. Anda akan belajar bagaimana melakukan ini dengan metode Python .replace() serta metode Python .translate(). Terakhir, Anda akan belajar cara membatasi berapa banyak karakter yang dihapus (katakanlah, jika Anda hanya ingin menghapus x jumlah kemunculan karakter pertama)

Jawaban Cepat. Gunakan tali. mengganti()

Python menghapus satu karakter dari string

Daftar isi

Mengapa Menghapus Karakter dari String dengan Python?

Saat Anda mengunduh data dari berbagai sumber, Anda akan sering menerima data yang sangat berantakan. Sebagian besar waktu Anda akan dihabiskan untuk membersihkan data tersebut dan menyiapkannya untuk analisis. Bagian dari persiapan data itu akan membersihkan string Anda dan mungkin melibatkan penghapusan karakter tertentu

Karena ini merupakan tantangan yang sangat umum, tutorial ini dikembangkan untuk membantu Anda dalam perjalanan menuju analisis data yang lebih mudah. Mari kita mulai

Gunakan Fungsi Ganti untuk Menghapus Karakter dari String dengan Python

Python hadir dengan sejumlah metode string. Salah satu metode ini adalah metode .replace() yang memungkinkan Anda mengganti bagian string Anda. Mari kita lihat sekilas bagaimana metode ini ditulis

str.replace(old, new, count)

Saat Anda menambahkan .replace()_ ke string, Anda mengidentifikasi parameter berikut

  • old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.replace('?', '')
    
    print(new_string)
    # Returns: hello, my name is nik!
    _0. string yang ingin Anda ganti,
  • old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.replace('?', '')
    
    print(new_string)
    # Returns: hello, my name is nik!
    _1. string yang ingin Anda ganti, dan
  • old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.replace('?', '')
    
    print(new_string)
    # Returns: hello, my name is nik!
    _2. jumlah penggantian yang ingin Anda lakukan

Sekarang setelah Anda mempelajari bagaimana metode .replace() ditulis dengan Python, mari kita lihat sebuah contoh. Anda akan diberi string dan ingin menghapus semua

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.replace('?', '')

print(new_string)
# Returns: hello, my name is nik!
4 karakter tanda dalam string

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.replace('?', '')

print(new_string)
# Returns: hello, my name is nik!
_

Mari kita lihat apa yang telah kita lakukan di sini untuk menghapus karakter dari sebuah string dengan Python

  1. Kami menerapkan.
    old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.replace('?', '')
    
    print(new_string)
    # Returns: hello, my name is nik!
    _5 metode untuk string kami,
    old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.replace('?', '')
    
    print(new_string)
    # Returns: hello, my name is nik!
    6
  2. Kami menunjukkan bahwa kami ingin mengganti
    old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.replace('?', '')
    
    print(new_string)
    # Returns: hello, my name is nik!
    _4 karakter dengan string kosong
  3. Kami menugaskan string yang baru dimodifikasi ini ke variabel
    old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.replace('?', '')
    
    print(new_string)
    # Returns: hello, my name is nik!
    8

Anda bisa lihat di sini, betapa mudahnya menghapus karakter dari sebuah string dengan Python

Sekarang mari belajar bagaimana menggunakan metode Python string .translate() untuk melakukan hal ini

Gunakan Fungsi Terjemahkan untuk Menghapus Karakter dari String dengan Python

Mirip dengan contoh di atas, kita dapat menggunakan metode Python string .translate() untuk menghapus karakter dari sebuah string

Metode ini sedikit lebih rumit dan, umumnya, metode .replace() adalah pendekatan yang lebih disukai. Alasannya adalah Anda perlu menentukan tabel terjemahan sebelum benar-benar dapat mengganti apa pun. Karena langkah ini seringkali berlebihan dan membosankan karena hanya mengganti satu karakter. Karena itu, kita dapat menggunakan fungsi ord() untuk mendapatkan nilai Unicode karakter untuk menyederhanakan proses ini

Mari kita lihat bagaimana ini bisa dilakukan dengan contoh yang sama seperti di atas

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.translate({ord('?'):None})

print(new_string)
# Returns: hello, my name is nik!

Mari jelajahi apa yang telah kita lakukan di sini

  • Kami menggunakan fungsi
    old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.translate({ord('?'):None})
    
    print(new_string)
    # Returns: hello, my name is nik!
    _2 untuk mengembalikan nilai Unicode untuk karakter apa pun yang ingin kami ganti
  • Kami memetakan ini ke nilai
    old_string = 'h?ello, m?y? name? is ?nik!'
    new_string = old_string.translate({ord('?'):None})
    
    print(new_string)
    # Returns: hello, my name is nik!
    _3 untuk memastikannya menghapusnya

Anda dapat melihat di sini bahwa ini sedikit lebih rumit daripada metode sebelumnya yang Anda pelajari

Hapus Hanya n Jumlah Karakter dari sebuah String dengan Python

Mungkin ada kalanya Anda hanya ingin menghapus sejumlah karakter tertentu dari sebuah string dengan Python. Untungnya, metode Python .replace() memungkinkan kita melakukan ini dengan mudah menggunakan parameter

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.replace('?', '')

print(new_string)
# Returns: hello, my name is nik!
2. Dengan memasukkan angka bukan nol ke dalam parameter ini, kita dapat menentukan berapa banyak karakter yang ingin kita hapus dengan Python

Ini bisa sangat membantu ketika Anda menerima string di mana Anda hanya perlu menghapus iterasi pertama dari sebuah karakter, tetapi yang lain mungkin valid

Mari kita lihat sebuah contoh

old_string = 'h?ello, my name is nik! how are you?'
new_string = old_string.replace('?', '', 1)

print(new_string)
# Returns: hello, my name is nik! how are you?

Kita dapat melihat di sini bahwa dengan melewati

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.translate({ord('?'):None})

print(new_string)
# Returns: hello, my name is nik!
6, hanya penggantian pertama yang dilakukan. Karena itu, kami hanya dapat menghapus satu karakter dalam string Python kami

Hapus Banyak Karakter dari sebuah String dengan Python

Mungkin juga ada saatnya Anda ingin mengganti beberapa karakter berbeda dari sebuah string dengan Python. Meskipun Anda bisa saja merantai metodenya, ini tidak perlu berulang dan sulit dibaca

Mari kita lihat bagaimana kita dapat mengulang string karakter yang berbeda untuk menghapus karakter tersebut dari string dengan Python

Alasan mengapa kita tidak perlu mengulang daftar string adalah karena string itu sendiri dapat diubah. Kami dapat memberikan daftar karakter, tetapi kami tidak perlu melakukannya. Mari kita lihat contoh di mana kita ingin mengganti karakter

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.replace('?', '')

print(new_string)
# Returns: hello, my name is nik!
4 dan
old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.translate({ord('?'):None})

print(new_string)
# Returns: hello, my name is nik!
8 dari string asli kita

a_string = 'h?ello, my name is nik! how are you?'
for character in '!?':
    a_string = a_string.replace(character, '')

print(a_string)
# hello, my name is nik how are you

Satu hal yang akan Anda perhatikan di sini adalah kita mengganti string dengan dirinya sendiri. Jika kami tidak melakukan ini (dan, lebih tepatnya, mengganti string dan menugaskannya ke variabel lain), kami hanya akan mengganti satu karakter pada akhirnya.

Kami juga dapat melakukannya dengan menggunakan perpustakaan ekspresi reguler

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.translate({ord('?'):None})

print(new_string)
# Returns: hello, my name is nik!
9. Kami dapat mengirimkan sekelompok karakter untuk menghapus dan menggantinya dengan string kosong

Mari kita lihat bagaimana kita bisa melakukan ini

import re

old_string = 'h?ello, my name is nik! how are you?'
new_string = re.sub('[!?]', '', old_string)

print(new_string)
# Returns: hello, my name is nik how are you

Apa yang telah kita lakukan di sini adalah meneruskan string yang berisi kelas karakter, yang berarti itu akan mengambil karakter apa pun yang terkandung dalam tanda kurung siku

old_string = 'h?ello, my name is nik! how are you?'
new_string = old_string.replace('?', '', 1)

print(new_string)
# Returns: hello, my name is nik! how are you?
0

Pustaka

old_string = 'h?ello, m?y? name? is ?nik!'
new_string = old_string.translate({ord('?'):None})

print(new_string)
# Returns: hello, my name is nik!
_9 memudahkan untuk meneruskan sejumlah karakter berbeda yang ingin Anda ganti dan menghilangkan kebutuhan untuk menjalankan perulangan for. Ini bisa lebih efisien seiring bertambahnya panjang string Anda

Kesimpulan

Dalam posting ini, Anda belajar cara menghapus karakter dari string dengan Python menggunakan metode string .replace(), metode string .translate(), serta menggunakan ekspresi reguler di ________10______9

Bagaimana cara menghapus satu karakter dari sebuah string dengan Python?

Dua cara paling umum untuk menghapus karakter dari string dengan Python adalah. .
menggunakan metode string replace()
menggunakan metode string translate()

Bagaimana Anda menghapus bagian dari string dengan Python?

Hapus bagian dari string dengan Python .
Hapus substring dengan menggantinya dengan string kosong. .
Hapus karakter awal dan akhir. mengupas()
Hapus karakter utama. lstrip()
Hapus karakter tambahan. rstrip()
Hapus awalan. hapus awalan () (Python 3. 9 atau lebih baru)
Hapus akhiran. hapus akhiran() (Python 3. 9 atau lebih baru)

Bagaimana Anda menghapus karakter tertentu dari string dalam daftar Python?

Bagaimana cara menghapus elemen tertentu dari daftar dengan Python? . Metode pop() menghapus elemen pada indeks tertentu, dan juga akan mengembalikan item yang dihapus. The remove() method removes the first matching element (which is passed as an argument) from the list. The pop() method removes an element at a given index, and will also return the removed item.