2012-09-12 20 views
0

考虑下面的代码段:等效Jython中str.lstrip(炭)的<2.1

word='hello.world' 
//matchedWord to contain everything right of "hello" 
matchedWord=word.lstrip('hello') //now matchedWord='.world' 

如何实现的jython 2.1同一其中str.lstrip(炭)不可用。任何其他解决方法是去除一个单词剩下的所有字符?

+1

注意,从一个字剥离'hello'意味着你要剥去字符'h','e','l'和'O'从这个词,无论订购!你正在寻找'if word.startswith('hello'):word = word [len('hello'):]'而不是。 –

回答

0

如果你真的需要使用.lstrip()你可以重新实现,作为一个功能:

def lstrip(value, chars=None): 
    if chars is None: 
     chars=' \t\n' 
    while value and value[0] in chars: 
     value = value[1:] 
    return value 

但是你需要知道什么.lstrip()(和.rstrip().strip())地带字符集从前面,而不是前缀。从(cpython)文档:

返回删除前导字符的字符串的副本。 chars 参数是一个字符串,指定要删除的字符集。 如果省略或Nonechars参数默认为删除 空白。 chars参数不是一个前缀;相反,它的值的所有 组合被剥离:

>>> ' spacious '.lstrip() 
'spacious ' 
>>> 'www.example.com'.lstrip('cmowz.') 
'example.com' 
相关问题