Python检查String拆分是否成功

use*_*754 10 python string

我正在分割一个字符串,"name:john"并想检查分裂是否发生.做检查的正确方法是什么?

一个快速的解决方案:(但可能是矫枉过正)

name = "name:john"
splitted = name.split(":")
if len(splitted) > 1:
    print "split"
Run Code Online (Sandbox Code Playgroud)

有更复杂的检查方式吗?

ale*_*cxe 10

您还可以选择EAFP方法:拆分,解包和处理ValueError:

try:
    key, value = name.split(":")
except ValueError:
    print "Failure"
else:
    print "Success" 
Run Code Online (Sandbox Code Playgroud)

  • 我会在`except`之后添加一个`else`块,并将`print'成功"`从`try`块移动到`else`块. (2认同)

Kas*_*mvd 6

为什么不使用in运营商?

if ':' in name:
    print "split"
Run Code Online (Sandbox Code Playgroud)

或者,如果您想要:在第一个和最后一个字符之间显示,您可以简单地执行:

if ':' in name[1:-1]:
    print "split"
Run Code Online (Sandbox Code Playgroud)