有条件地解析字符串

时间:2013-08-18 22:52:34

标签: python string

我正在编写一个小脚本来编译CSV文件。

我想出了这个代码来组合字符串。

site = "{}.{}".format(subdomain, fullDomain)

但是在某些情况下子域可能不存在。如果是这种情况,输出将是“.domain.tld”,这是不正确的。

我想知道是否存在我可以在上面的格式指令中添加的条件,或者更简单地检查输出并删除开头的点(如果有的话)。

由于

2 个答案:

答案 0 :(得分:2)

这个相当简单的单行程怎么样?

"{}{}{}".format(subdomain, '.' if subdomain else '', fullDomain)

您还可以将每个格式项命名为:

"{subdomain}{dot}{fullDomain}".format(subdomain=subdomain, 
                                      dot='.' if subdomain else '', 
                                      fullDomain=fullDomain)

或者,你可以这样:

"{}{}".format(subdomain + '.' if subdomain else '', fullDomain)

答案 1 :(得分:-1)

使用格式化语言无法做到这一点。最好的解决方案可能就像

site = fullDomain
if subdomain is not None:
     site = subdomain + "." + site