Python 2.7 中的拆分行

2024-05-17 04:34:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Python W03*17*65.68*KG*0.2891*CR*1*1N分割行,然后捕获 价值数量为17 值kg为65,68

试过劈开

myarray = Split(strSearchString, "*")
a = myarray(0)
b = myarray(1)

谢谢你的帮助


Tags: 数量crsplit价值kgmyarrayw03strsearchstring
3条回答
>>> s = "W03*17*65.68*KG*0.2891*CR*1*1N"
>>> lst = s.split("*")
>>> lst[1]
'17'
>>> lst[2]
'65.68'

^{}是字符串本身的方法,您可以使用[42]访问列表元素,而不是使用方法调用(42)doc。尝试:

s = 'W03*17*65.68*KG*0.2891*CR*1*1N'
lst = s.split('*')
qty = lst[1]
weight = lst[2]
weight_unit = lst[3]

您可能还对元组解包感兴趣:

s = 'W03*17*65.68*KG*0.2891*CR*1*1N'
_,qty,weight,weight_unit,_,_,_,_ = s.split('*')

你甚至可以使用slice

s = 'W03*17*65.68*KG*0.2891*CR*1*1N'
qty,weight,weight_unit = s.split('*')[1:4]

您需要对某个字符串调用split方法来拆分它。仅仅使用Split(my_str, "x")是行不通的:

>>> my_str = "Python W03*17*65.68*KG*0.2891*CR*1*1N"
>>> tokens = my_str.split('*')
>>> tokens
['Python W03', '17', '65.68', 'KG', '0.2891', 'CR', '1', '1N']
>>> tokens[1]
'17'
>>> tokens[2]
'65.68'

相关问题 更多 >