相关疑难解决方法(0)

从字符串中删除前缀

我试图以明确的pythonic方式做以下事情:

def remove_prefix(str, prefix):
    return str.lstrip(prefix)

print remove_prefix('template.extensions', 'template.')
Run Code Online (Sandbox Code Playgroud)

这给出了:

xtensions
Run Code Online (Sandbox Code Playgroud)

这不是我期待的(extensions).显然,(愚蠢的我),因为我已经使用lstrip错误:lstrip将删除其出现在考试中的所有字符chars的字符串,不考虑该字符串作为一个真正的字符串,而是"一组字符从字符串的开头删除" .

是否有一种从字符串开头删除子字符串的标准方法?

python

75
推荐指数
5
解决办法
6万
查看次数

为什么str.lstrip会删除一个额外的字符?

Python 2.6 (trunk:66714:66715M, Oct  1 2008, 18:36:04) 
[GCC 4.0.1 (Apple Computer, Inc. build 5370)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> path = "/Volumes/Users"
>>> path.lstrip('/Volume')
's/Users'
>>> path.lstrip('/Volumes')
'Users'
>>> 
Run Code Online (Sandbox Code Playgroud)

我期待输出path.lstrip('/Volumes')应该是/Users

python string

14
推荐指数
3
解决办法
9386
查看次数

理解python对字符串的lstrip方法

我遇到了我认为是一个错误,我正在寻找确认或我不明白这个方法是如何工作的.

这是我的基本输出:

(Pdb) x = 'KEY_K'
(Pdb) x.lstrip('K')
'EY_K'
(Pdb) x.lstrip('KE')
'Y_K'
(Pdb) x.lstrip('KEY')
'_K'
(Pdb) x.lstrip('KEY_')
''
(Pdb) import sys
(Pdb) sys.version
'2.7.11 (default, Dec  5 2015, 14:44:47) \n[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.1.76)]'
Run Code Online (Sandbox Code Playgroud)

我的理解是,该示例中的最终'lstrip'应该返回'K',但事实并非如此.有谁知道为什么?

python string methods

8
推荐指数
3
解决办法
3807
查看次数

在python中使用string.lstrip()是否有限制?

可能重复:
这是Python 2.7中的错误吗?

.lstrip()函数在某些字符串上(特别是带有下划线的字符串)并不像我预期的那样完全正常工作.例如,

In [1]:  a='abcd_efg_hijk_lmno_pqrs_tuvw_xyz'   
In [2]: a.lstrip('abcd_efg')   
Out[2]: 'hijk_lmno_pqrs_tuvw_xyz'
Run Code Online (Sandbox Code Playgroud)

这里,'g'和'h'之间的'_'缺失.知道为什么会这样吗?

python

7
推荐指数
2
解决办法
5238
查看次数

标签 统计

python ×4

string ×2

methods ×1