擅长:python、mysql、java
<p>如果不使用正则表达式,我建议使用一种简单的方法:</p>
<pre><code>def checkSSN(ssn):
ssn = ssn.split("-")
if map(len, ssn) != [3,2,4]:
return False
elif any(not x.isdigit() for x in ssn):
return False
return True
</code></pre>
<p>两行所有的东西一起倒塌了:</p>
<pre><code>def checkSSN(ssn):
ssn = ssn.split("-")
return map(len,ssn) == [3,2,4] and all(x.isdigit() for x in ssn)
</code></pre>
<p>注意:如果使用Python3,则需要将映射转换为列表:<code>list(map(...))</code></p>