Dizenin ilk karakterini kaldırma


167

Bir dizenin ilk karakterini kaldırmak istiyorum.

Örneğin, benim dize bir ile başlar :ve sadece bunu kaldırmak istiyorum. Dizede :kaldırılmaması gereken birkaç örnek vardır .

Kodumu Python'da yazıyorum.

Yanıtlar:


299

python 2.x

s = ":dfa:sif:e"
print s[1:]

python 3.x

s = ":dfa:sif:e"
print(s[1:])

her iki baskı

dfa:sif:e

13
Kabul edilen cevap bu ise, soru "bir dizenin ilk karakterini nasıl kaldırabilirim" olmalıdır.
Spaceghost

1
@Spaceghost: OP "Özellikle ilk karakteri kaldırmak istiyorum."
Sven Marnach

3
Haklısın, ben sadece sorunun başlığı ve gövdesi arasındaki farka cevap veriyordum .. Geriye dönüp kahve içmeye zaman ayırmalıydım. :-)
Spaceghost

35

Sorununuz belirsiz görünüyor. "Belirli bir konumdaki bir karakteri" kaldırmak istediğinizi ve sonra belirli bir karakteri kaldırmak istediğinizi söyleyin.

Yalnızca ilk karakteri kaldırmanız gerekirse:

s = ":dfa:sif:e"
fixed = s[1:]

Bir karakteri belirli bir konumdan kaldırmak istiyorsanız şunları yaparsınız:

s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]

Belirli bir karakteri kaldırmanız gerekiyorsa, ':' deyin, bir dizede ilk kez karşılaşıldığında şunu yaparsınız:

s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))

6
Son örnek s.replace(":", "", 1)-
Sven Marnach

25

Dizenin yapısına bağlı olarak şunları kullanabilirsiniz lstrip:

str = str.lstrip(':')

Ama bu başlangıçtaki tüm iki nokta üst üste işaretlerini kaldıracaktır, yani eğer varsa ::foosonuç ortaya çıkar foo. Ancak, iki nokta üst üste ile başlamayan dizeleriniz varsa ve o zaman ilk karakteri kaldırmak istemiyorsanız bu işlev yararlıdır.


2

karakter silme:

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))

dizinlerdeki tüm karakterleri siler; ile davanızda kullanabilirsinizdel_char(your_string, [0])

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.