我是编程新手,正在编写处理特定字符串的代码,它将输入字符串分成两个参数。 输入字符串如下所示:
Foo 15
Bar 2
我在代码中使用splitlines()逐行拆分它们,然后使用split()将其进一步拆分为如下列表:
data = "Foo 15\nBar 2\n"
data_lines = data.splitlines()
for data in data_lines:
print ("{} x {}".format(data.split()[0],data.split()[1])) #[0] is the name, [1] is the number
但是在某些情况下,输入字符串的名称带有这样的空格:
Foo - bar 15
Foo II 6
Foo S 100
在这种情况下,data.split()将返回错误的结果并导致类似ValueError: Field 'stock' expected a number but got '-'.
的错误
所以,我的问题是标题,如何使用空格检测这些字段并将其拆分为一个元素?任何建议或指导都可以,谢谢。
答案 0 :(得分:0)
使用rsplit
从右端开始指定一个拆分。
s = """Foo - bar 15
Foo II 6
Foo S 100"""
for data in s.splitlines():
name, value = data.rsplit(' ', maxsplit = 1)
print ("{} x {}".format(name, value))
输出
Foo - bar x 15
Foo II x 6
Foo S x 100