2011-02-09 42 views
93

文字列の最初の文字を削除します。文字列の最初の文字を削除します。

たとえば、私の文字列は:で始まり、それを削除したいだけです。削除すべきではない文字列には、:という出現がいくつかあります。

私は自分のコードをPythonで書いています。

答えて

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

プリント

dfa:sif:e 
+12

それが受け入れられた答えであれば、質問は "文字列の最初の文字を取り除くにはどうすればよいか"であったはずです。 – Spaceghost

+1

@Spaceghost:OPは "具体的には最初の文字を削除したい"と述べています。 –

+3

あなたは正しいです、私はちょうどタイトルと質問のボディの違いに反応していました。後で、コーヒーを飲む時間を費やしていたはずです。 :-) – Spaceghost

15

文字列の構造によっては、lstrip使用することができます。

str = str.lstrip(':') 

をしかし、これはあなたが::fooを持っているつまり場合は、最初にすべてのコロンを削除します結果はfooになります。しかし、この関数は、コロンで始まらず最初の文字を削除したくない文字列がある場合に役立ちます。チャーを削除

2

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

それがインデックスにあるすべての文字を削除します。あなたのケースでそれを使用することができますdel_char(your_string, [0])

29

あなたの問題は不明であるようです。あなたは "特定の位置から文字を"削除し、特定の文字を削除したいと言うことを続けたいとします。あなたが最初の文字だけを削除する必要がある場合は

あなたはどうなる:

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

を使用すると、特定の位置の文字を削除したい場合は、どうなる:あなたが必要な場合は

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

特定の文字を削除するには、 ':'と入力します。文字列で初めて検出された場合は、次のようになります。

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

最後の例は 's.replace(": "、" "、1)' - –

関連する問題