输入一行字符串,去掉非16进制字符,将它转换成16、10、8、2进制数,输出。

输入一行字符串,去掉非16进制字符,将它转换成16、10、8、2进制数,输出。

输入格式:
输入一行字符串。

输出格式:
输出转换后的16、10、8、2进制数。数据之间有1个空格。(16进制字母小写)

输入样例:
_ahg1*B
结尾无空行
输出样例:
a1b 2587 5033 101000011011
结尾无空行


'''
16进制表示包含数字0-9,字母a-e
'''
strs="_3a3d%$4 v#cbAA&"
#构造16进制表示字符串
hexstrs="0123456789abcde"

hexs=[i for i in strs if i in hexstrs]
#转换为10进制
int_num=int("".join(hexs),16)

#用字符串格式化方法打印结果

print("{0:x} {0:d} {0:o} {0:b}".format(int_num))

#正则方法
strs="_3a3d%$4 v#cbAA&"
r = re.compile(r"[0-9A-Fa-f]+")
k ="".join(r.findall(strs))
print("正则方法:{0:x} {0:d} {0:o} {0:b}".format(int(k,16)))