我的字符串:
str1 = "Text\x11\x05\x11MoreTEXT\x02HELLO\x011"
我想在\ xYY之间获取所有字符串。我想得到一个这样的列表:
list1 = ["Text", "MoreTEXT", "HELLO", "1"]
请注意,\ xYY可以在一行中出现更多次,就像在我的示例中一样。我怎么能像我想要的那样拆分?
答案 0 :(得分:0)
你很亲密!
str_split = re.split('[\x01-\x1f\x7f]', str1)
str_lst = [s for s in str_split if s != '']
第一行拆分列表,但如果有连续的分隔符,它会返回''
列表元素。
第二行从列表中删除空白元素。
答案 1 :(得分:0)
尝试这种技巧。只需用空格替换十六进制值,然后在一系列空格处拆分。
new_string = re.split('\s+', re.sub('[\x01-\x1f\x7f]', ' ', str1))