我想删除字符串的第一个字符。
例如,我的字符串以:开头,我只想删除它。字符串中有几次:不应该被删除。
:
我正在用Python编写代码。
python 2. x
s = ":dfa:sif:e" print s[1:]
python 3. x
s = ":dfa:sif:e" print(s[1:])
都打印
dfa:sif:e
根据字符串的结构,可以使用lstrip:
lstrip
str = str.lstrip(':')
但这将在开头删除所有冒号,即如果你有::foo,结果将是foo。但是如果你有不以冒号开头的字符串,并且你不想删除第一个字符,这个函数是有用的。
::foo
foo
删除一个字符:
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])
del_char(your_string, [0])
你的问题似乎不清楚。你说你想删除“某个位置的一个字符”,然后继续说你想删除一个特定的字符。
如果你只需要删除第一个字符,你可以这样做:
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))
只要这样做:
r = "hello" r = r[1:] print(r) # ello