Python是否有字符串函数来查找字符串的一部分

时间:2018-03-07 12:51:46

标签: python

我尝试过滤一些表/数据集格式的日志文件,但.endswith().startswith()不符合我的要求。我使用匿名函数但需要调整我的Python代码以检查字符串是否包含.jpg

logfilejpg = sc.textFile("/loudacre/logs/*.log").filter(lambda line: line.endswith('.jpg'))

4 个答案:

答案 0 :(得分:3)

使用in

'.jpg' in 'something.jpg foo'
Out: True

您也可以将它放在lambda表达式中:

lambda line: '.jpg' in line

示例:

list(filter(lambda line: '.jpg' in line, ["foo", "foo.jpg.bar", "bar.jpg"]))
Out: ['foo.jpg.bar', 'bar.jpg']

答案 1 :(得分:0)

获取" .jpg"的索引。从以下开始:

hello = "world.jpg"

print(hello.find(".jpg"))

答案 2 :(得分:0)

您可以通过"分割内部字符串。 " (空间)然后由"。"并在结果数组中取第二个值。当然这取决于你的初始字符串是多少。基本的想法是你可以隔离" .jpg"并使用等于检查。

要验证文件实际上是慢跑,您可以尝试打开它。如果失败,该文件是以太其他格式或损坏,请参阅您获得的例外情况。

答案 3 :(得分:0)

使用str.find()len(),您可以找到子字符串,如下所示:

a_string = 'there is a .jpg here.'
start = a_string.find('.jpg') # The lowest index in a_string where '.jpg' is found
end = start + len('.jpg')

print(a_string[start:end])
# .jpg