删除字符串的第一个字符


165

我想删除字符串的第一个字符。

例如,我的字符串以a开头,:而我只想删除它。:字符串中有几次不应删除。

我正在用Python编写代码。

Answers:


297

python 2.x

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

python 3.x

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

都印

dfa:sif:e

13
如果这是可接受的答案,那么问题应该是“如何删除字符串的第一个字符”。
Spaceghost 2011年

1
@Spaceghost:OP指出“特别是我要删除第一个字符”。
Sven Marnach 2011年

3
没错,我只是在回答标题和问题内容之间的区别。事后看来,应该花时间喝咖啡。:-)
Spaceghost 2011年

35

您的问题似乎不清楚。您说要删除“某个位置的字符”,然后继续说要删除特定字符。

如果只需要删除第一个字符,则可以执行以下操作:

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

6
最后一个例子,可以更容易地使用完成s.replace(":", "", 1)-
斯文Marnach

25

根据字符串的结构,可以使用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])

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.