Jawaban:
python 2.x
s = ":dfa:sif:e"
print s[1:]
python 3.x
s = ":dfa:sif:e"
print(s[1:])
keduanya tercetak
dfa:sif:e
Masalahmu sepertinya tidak jelas. Anda mengatakan ingin menghapus "karakter dari posisi tertentu" lalu melanjutkan dengan mengatakan Anda ingin menghapus karakter tertentu.
Jika Anda hanya perlu menghapus karakter pertama yang akan Anda lakukan:
s = ":dfa:sif:e"
fixed = s[1:]
Jika Anda ingin menghapus karakter pada posisi tertentu, Anda harus:
s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]
Jika Anda perlu menghapus karakter tertentu, katakan ':', pertama kali ditemui dalam sebuah string maka Anda akan melakukannya:
s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
s.replace(":", "", 1)
-
Bergantung pada struktur string, Anda dapat menggunakan lstrip
:
str = str.lstrip(':')
Tapi ini akan menghapus semua titik dua di awal, yaitu jika Anda punya ::foo
, hasilnya akan menjadi foo
. Tetapi fungsi ini bermanfaat jika Anda juga memiliki string yang tidak dimulai dengan titik dua dan Anda tidak ingin menghapus karakter pertama.
menghapus char:
def del_char(string, indexes):
'deletes all the indexes from the string and returns the new one'
return ''.join((char for idx, char in enumerate(string) if idx not in indexes))
menghapus semua karakter yang ada di indeks; Anda dapat menggunakannya dalam kasus Anda dengandel_char(your_string, [0])