2011-02-09 109 views
93

我想刪除字符串的第一個字符。刪除字符串的第一個字符

例如,我的字符串以:開頭,我只想刪除它。 :中有幾個不應刪除的字符串。

我正在用Python寫我的代碼。

回答

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

打印

dfa:sif:e 
+12

如果th是被接受的答案,那麼問題應該是「我如何刪除字符串的第一個字符」。 – Spaceghost 2011-02-09 14:25:44

+1

@Spaceghost:OP聲明「具體而言,我想刪除第一個字符。」 – 2011-02-09 14:27:13

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)) 
相關問題