2011-02-09 105 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)) 
相关问题