如何在Python中断开字符串?

如何在Python中断开字符串?,python,string,python-2.7,Python,String,Python 2.7,我有一个字符串,比如: "sharenfs = rw=@20.20.20.0/24,ro=a.oracle.com:@10.0.0.0/24,root=a.oracle.com:@10.0.0.0/24:@20.20.20.0/24" 需要把这根绳子断开3部分,如下所示 a = @20.20.20.0/24 b = a.oracle.com:@10.0.0.0/24 c = a.oracle.com:@10.0.0.0/24:@20.20.20.0/24 如何执行此操作?使用字符串 st

我有一个字符串,比如:

"sharenfs = rw=@20.20.20.0/24,ro=a.oracle.com:@10.0.0.0/24,root=a.oracle.com:@10.0.0.0/24:@20.20.20.0/24"
需要把这根绳子断开3部分,如下所示

a = @20.20.20.0/24

b = a.oracle.com:@10.0.0.0/24

c = a.oracle.com:@10.0.0.0/24:@20.20.20.0/24
如何执行此操作?

使用字符串

string = "sharenfs = rw=@20.20.20.0/24 ... etc ... "
首先去掉前导变量名和质量符号:

content = string.partition(" = ")[2] # Keepning all after " = ".
这里有一个字符串,由一个唯一的分隔符“”分隔三部分,这意味着您可以使用split函数:

parts = content.split(",") # Split string by ","
现在,列表中的每个部分都将是一个字符串,其中两部分由唯一的分隔符“=”分隔,因此您可以再次使用拆分:

a = parts[0].split("=")[1]
b = parts[1].split("=")[1]
c = parts[2].split("=")[1]
或者,如果您想要一个紧凑的代码:

string = "sharenfs = rw=@20.20.20.0/24,ro=a.oracle.com:@10.0.0.0/24,root=a.oracle.com:@10.0.0.0/24:@20.20.20.0/24"
content = string.partition(" = ")[2]
a, b, c = [x.split("=")[1] for x in content.split(",")]  

sharenfs是字符串的一部分。请帮我得到输出代码还是一样的。只需使用原始字符串测试以上5行代码即可。更新了我的答案您可以跳过分区并直接转到
a,b,c=[i.split('=')[-1]中的i.split(',')]