我有一个英尺的字符串' -inches" (即18'-6"
)我想拆分它,以便分隔英尺和英寸的值。
我试过了:
re.split(r'\s|-', `18'-6`)
但它仍会返回18'-6
。
所需的输出:[18,6]
或类似的
谢谢!
答案 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']
答案 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("-")
单线。 :)