用连字符拆分字符串

时间:2015-04-24 18:57:52

标签: python regex

我有一个英尺的字符串' -inches" (即18'-6")我想拆分它,以便分隔英尺和英寸的值。

我试过了:

re.split(r'\s|-', `18'-6`)

但它仍会返回18'-6

所需的输出:[18,6]或类似的

谢谢!

4 个答案:

答案 0 :(得分:2)

正常拆分,取代'

s="18'-6"

a, b = s.replace("'","").split("-")
print(a,b)

如果您同时拥有"',则必须对其进行转义,以便将其拆分并切成第二个最后一个字符:

s = "18'-6\""

a, b = s.split("-")
print(a[:-1], b[:-1])
18 6

答案 1 :(得分:0)

您可以使用

import re
p = re.compile(ur'[-\'"]')
test_str = u"18'-6\""
print filter(None,re.split(p, test_str))

输出:

[u'18', u'6']

Ideone demo

答案 2 :(得分:0)

列表理解将起到作用:

In [13]: [int(i[:-1]) for i in re.split(r'\s|-', "18'-6\"")]
Out[13]: [18, 6]

这假设您的字符串格式为feet(int)'-inches(int)",并且您尝试获取实际的int,而不仅仅是字符串格式的数字。

答案 3 :(得分:-1)

内置的split方法可以使用一个参数,使其在指定的点处分割。

"18'-16\"".replace("'", "").replace("\"", "").split("-")

单线。 :)

相关问题