-1

我需要做一个像.lstrip这样的函数。我已经完成了一个计算字母出现次数的函数。这个函数可以用来帮助我完成这个我称之为*my_lstrip*的函数吗?我遇到的唯一问题是如何从字符串中删除一个字母/单词,我只是想不出任何办法......

只是为了刷新任何人的记忆: lstrip 删除字符串的前导出现。

我不认为索引将是一个选择,但我仍在想,任何人的帮助都会受到赞赏。我已经完成了长度、计数和查找等功能,如果可以在这里使用这些功能的任何组合,那就太好了!如果您需要更多信息,请告诉我,谢谢。如果我想出任何东西,我会发布代码,以便其他人可以检查它并查看我的错误。

4

1 回答 1

0

由于 Python 中的字符串是不可变的,因此您无法从字符串中删除任何内容。您可以做的是创建新字符串并省略一些前导字符,例如:

def my_lstrip(p, s):
     """Remove leading occurences of p from s
     Keyword arguments:
     p - pattern to remove
     s - input string

     >>> my_lstrip('f', 'foo')
     'oo'
     >>> my_lstrip('foo', 'foobar')
     'bar'
     >>> my_lstrip('foo', 'foofoofoobar')
     'bar'
     >>> my_lstrip('o', 'ooooofoo')
     'foo'
     >>> my_lstrip('fooo', 'foo')
     'foo'
     >>> my_lstrip('bar', 'foo')
     'foo'
     """
     return  my_lstrip(p, s[len(p):]) if s.startswith(p) else s

它可以更有效地完成(无需在每次匹配时都创建新字符串),但我将把它留给你作为练习。

于 2013-10-19T18:53:38.220 回答