Cara menggunakan STRING.REMOVE pada Python

Ada string, misalnya. EXAMPLE.

Bagaimana saya bisa menghapus karakter tengah, yaitu, M dari itu? Saya tidak butuh kode. Saya ingin tahu:

  • Apakah string dalam Python diakhiri dengan karakter khusus?
  • Mana cara yang lebih baik - menggeser semuanya dari kanan ke kiri mulai dari karakter tengah OR pembuatan string baru dan tidak menyalin karakter tengah?

Dalam Python, string tidak dapat diubah, jadi Anda harus membuat string baru. Anda memiliki beberapa opsi cara membuat string baru. Jika Anda ingin menghapus 'M' di mana pun itu muncul:

newstr = oldstr.replace("M", "")

Jika Anda ingin menghapus karakter sentral:

midlen = len(oldstr)/2
newstr = oldstr[:midlen] + oldstr[midlen+1:]

Anda bertanya apakah string diakhiri dengan karakter khusus. Tidak, Anda berpikir seperti seorang programmer C. Dalam Python, string disimpan dengan panjangnya, sehingga nilai byte apa pun, termasuk \0, dapat muncul dalam sebuah string.

Ini mungkin cara terbaik:

original = "EXAMPLE"
removed = original.replace("M", "")

Jangan khawatir tentang pengalihan karakter dan semacamnya. Sebagian besar kode Python terjadi pada tingkat abstraksi yang jauh lebih tinggi.

Untuk mengganti posisi tertentu:

s = s[:pos] + s[(pos+1):]

Untuk mengganti karakter tertentu:

s = s.replace('M','')

String tidak berubah. Tetapi Anda bisa mengonversinya menjadi daftar, yang bisa berubah-ubah, dan kemudian mengonversi daftar kembali ke string setelah Anda mengubahnya.

s = "this is a string"

l = list(s)  # convert to list

l[1] = ""    # "delete" letter h (the item actually still exists but is empty)
l[1:2] = []  # really delete letter h (the item is actually removed from the list)
del(l[1])    # another way to delete it

p = l.index("a")  # find position of the letter "a"
del(l[p])         # delete it

s = "".join(l)  # convert back to string

Anda juga dapat membuat string baru, seperti yang ditunjukkan orang lain, dengan mengambil semua kecuali karakter yang Anda inginkan dari string yang ada.

Bagaimana saya bisa menghapus karakter tengah, mis., M dari itu?

Anda tidak bisa, karena string dalam Python adalah tidak berubah .

Apakah string dalam Python diakhiri dengan karakter khusus?

Tidak. Mereka mirip dengan daftar karakter; panjang daftar menentukan panjang string, dan tidak ada karakter yang bertindak sebagai terminator.

Mana cara yang lebih baik - menggeser semuanya dari kanan ke kiri mulai dari karakter tengah OR pembuatan string baru dan tidak menyalin karakter tengah?

Anda tidak dapat mengubah string yang ada, jadi Anda harus membuat yang baru yang berisi semuanya kecuali karakter tengah.

Gunakan metode translate() :

>>> s = 'EXAMPLE'
>>> s.translate(None, 'M')
'EXAPLE'

card = random.choice(cards)
cardsLeft = cards.replace(card, '', 1)

Cara menghapus satu karakter dari string: Berikut adalah contoh di mana ada tumpukan kartu yang direpresentasikan sebagai karakter dalam string . Salah satunya diambil (impor modul acak untuk acak. function choice (), yang mengambil karakter acak dalam string) . String baru, cardsLeft, dibuat untuk menampung sisa kartu yang diberikan oleh fungsi string replace () di mana parameter terakhir menunjukkan bahwa hanya satu "kartu" harus diganti dengan string kosong ...

UserString.MutableString

Cara bisa berubah:

import UserString

s = UserString.MutableString("EXAMPLE")

>>> type(s)
<type 'str'>

# Delete 'M'
del s[3]

# Turn it for immutable:
s = str(s)

Inilah yang saya lakukan untuk memotong "M":

s = 'EXAMPLE'
s1 = s[:s.index('M')] + s[s.index('M')+1:]

Jika Anda ingin menghapus/mengabaikan karakter dalam sebuah string, dan, misalnya, Anda memiliki string ini,

"[11: L: 0]"

dari respons API web atau sesuatu seperti itu, seperti file CSV, katakanlah Anda menggunakan permintaan

import requests
udid = 123456
url = 'http://webservices.yourserver.com/action/id-' + udid
s = requests.Session()
s.verify = False
resp = s.get(url, stream=True)
content = resp.content

lingkaran dan singkirkan karakter yang tidak diinginkan:

for line in resp.iter_lines():
  line = line.replace("[", "")
  line = line.replace("]", "")
  line = line.replace('"', "")

Pemisahan opsional, dan Anda akan dapat membaca nilai secara individual:

listofvalues = line.split(':')

Sekarang mengakses setiap nilai lebih mudah:

print listofvalues[0]
print listofvalues[1]
print listofvalues[2]

Ini akan dicetak

11

L.

0

def kill_char(string, n): # n = position of which character you want to remove
    begin = string[:n]    # from beginning to n (n not included)
    end = string[n+1:]    # n+1 through end of string
    return begin + end
print kill_char("EXAMPLE", 3)  # "M" removed

Saya telah melihat ini di suatu tempat sini .

Untuk menghapus char atau sub-string sekali (hanya kejadian pertama): 

main_string = main_string.replace(sub_str, replace_with, 1)

CATATAN: Di sini 1 dapat diganti dengan int apa pun untuk jumlah kemunculan yang ingin Anda ganti. 

from random import randint


def shuffle_Word(word):
    newWord=""
    for i in range(0,len(Word)):
        pos=randint(0,len(Word)-1)
        newWord += Word[pos]
        Word = Word[:pos]+Word[pos+1:]
    return newWord

Word = "Sarajevo"
print(shuffle_Word(word))

Anda cukup menggunakan pemahaman daftar.

Asumsikan Anda memiliki string: my name is dan Anda ingin menghapus karakter m. gunakan kode berikut:

"".join([x for x in "my name is" if x is not 'm'])

STR pada Python untuk apa?

Metode str() digunakan untuk mengubah integer menjadi string. Demikianlah penjelasan tentang convert int to string Python.

Apa itu F di Python?

Formatted string literals (juga disebut f-string) memungkinkan Anda menyertakan nilai ekspresi Python di dalam string dengan mengawali string dengan f atau F dan menulis ekspresi sebagai {expression} .

Fungsi apa yang digunakan untuk mengetahui panjang dari suatu string Python berikan contoh programnya?

Untuk mengetahui panjang dari string, kita bisa menggunakan fungsi len().

Apa nama kumpulan karakter pada Python?

String Python adalah kumpulan karakter yang dikelilingi oleh tanda kutip tunggal, tanda kutip ganda, atau tanda kutip tiga.