![](/img/trans.png)
[英]Is there a way to use .splitlines() and .split() at the same time?
[英]Why split and splitlines not working for newline?
我有一个变量,其中的IP地址用换行符分隔-
>>> print(db_ip_addresses)
10.160.6.133\n10.160.7.164\n10.160.4.116\n10.160.5.173\n10.160.5.176\n10.160.6.162\n10.160.6.39\n10.160.4.6\n
我想从中创建一个数组。 根据我的调查,我应该能够在其上使用split(“ \\ n”)或splitlines()。 当我尝试这些方法时,我得到以下信息-
>>> db_ip_addresses.split("\n")
['10.160.6.133\\n10.160.7.164\\n10.160.4.116\\n10.160.5.173\\n10.160.5.176\\n10.160.6.162\\n10.160.6.39\\n10.160.4.6\\n']
和
>>> db_ip_addresses.splitlines()
['10.160.6.133\\n10.160.7.164\\n10.160.4.116\\n10.160.5.173\\n10.160.5.176\\n10.160.6.162\\n10.160.6.39\\n10.160.4.6\\n']
这就是我要的 -
['10.160.6.133','10.160.7.164','10.160.4.116','10.160.5.173','10.160.5.176','10.160.6.162','10.160.6.39','10.160.4.6']
我该如何解决这个问题?
它不包含换行符。 它包含反斜杠n。 如果它包含换行符,那么当您打印它时,它不会全部位于同一行。
如果要在反斜杠n上分割,可以使用:
db_ip_addresses.split("\\n")
如果您有列表,则需要执行以下操作:
db_ip_addresses = ['10.160.6.133\\n10.160.7.164\\n10.160.4.116\\n10.160.5.173\\n10.160.5.176\\n10.160.6.162\\n10.160.6.39\\n10.160.4.6\\n']
l1 = [elmt.split("\\n") for elmt in db_ip_addresses ]
#remove last element
l1 = l1[-1]
输出:
['10.160.6.133',
'10.160.7.164',
'10.160.4.116',
'10.160.5.173',
'10.160.5.176',
'10.160.6.162',
'10.160.6.39',
'10.160.4.6']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.