Python 如何使用.find打印名称

Python 如何使用.find打印名称,python,find,Python,Find,地点名称 我需要希腊成为希腊问题是: position = location.find(":") .find()在找不到对象时返回-1,您的“希腊”条目就是这样。你的下一行 region_split = location[:position] 将字符串切片到该索引,但不包括该索引。由于索引-1指的是字符串的最后一个字符,因此除最后一个字符外,它将使用所有字符 最简单的解决方案是在特殊情况下: position = location.find(":")

地点名称

我需要希腊成为希腊

问题是:

position = location.find(":")
.find()
在找不到对象时返回
-1
,您的“希腊”条目就是这样。你的下一行

region_split = location[:position]
将字符串切片到该索引,但不包括该索引。由于索引
-1
指的是字符串的最后一个字符,因此除最后一个字符外,它将使用所有字符


最简单的解决方案是在特殊情况下:

position = location.find(":")
region_split = location[:position] if position >= 0 else location[:]
但更有趣的方法是使用模:

position = location.find(":") % (len(location) + 1)
region_split = location[:position]

如果找到
':'
(因为它总是小于
len(位置)
,但如果找不到
':'
-1%len(位置),则不会影响
位置+1
的计算结果正好是字符串的长度
位置
,因此您仍然可以使用下面的片段捕获整个字符串。

非常感谢。我一直在尝试如果region\u split==-1 print('location Name'),但这不起作用