我在Python 2.7中有一个程序可以处理一些字符串。如果某些字符串以字母“ l”(不是“ L”,只是“ l”)结尾,则rstrip不应删除该“ l”。
示例代码:
file=u'isabel.algo'#final "l"
str="/"+file+"/"+file.rstrip(".algo")+".py"
print str
file=u'isabeL.algo'#final "L"
str="/"+file+"/"+file.rstrip(".algo")+".py"
print str
file='isabel.algo'#non unicode
str="/"+file+"/"+file.rstrip(".algo")+".py"
print str
结果是:
/isabel.algo/isabe.py
/isabeL.algo/isabeL.py
/isabel.algo/isabe.py
可以看出,当“文件”以“ L”结尾时,它没有问题。但是,如果以“ l”结尾,则最后一个字符串是错误的(应为“ isabel.py”)
任何帮助,将不胜感激。提前致谢。
最佳答案
您应该参考rstrip
的python documentation!rstrip
列出要删除字符串末尾的字符列表。因此,file.rstrip(".algo")
将在字符串的右端去除所有的'。','a','l','g'和'o'字符。
解决此问题的方法可能是使用'。'split
您的字符串。作为分隔符:
str="/"+file+"/"+file.split(".")[0]+".py"
或者根据注释中建议的色度,可以使用
replace
方法:str="/"+file+"/"+file.replace(".algo",".py")