Python如何将特定Unicode格式字符串转换为嵌套列表
Python中解析含控制字符的Unicode字符串为嵌套列表
你遇到的是用ASCII控制字符做分隔符的结构化字符串:
\x02是记录分隔符,用来区分不同的条目\x03是字段分隔符,用来拆分每个条目的子字段
直接用字符串的split()方法就能完成转换,代码示例如下:
# 原Unicode字符串 raw_str = u"some-id-0\x03some-name-0\x03some-url-0\x02some-id-1\x03some-name-1\x03some-url-1\x02some-user-uuid\x03some-name\x03some-url.com\x02some-user-id\x03some_name\x03some-url.com" # 先按记录分隔符\x02拆分出所有条目 records = raw_str.split('\x02') # 再对每个条目按字段分隔符\x03拆分,同时过滤空条目(避免字符串末尾的\x02产生空值) nested_list = [record.split('\x03') for record in records if record] # 输出结果就是你要的嵌套列表 print(nested_list)
执行后会得到目标格式的嵌套列表:
[["some-id-0", "some-name-0", "some-url-0"], ["some-id-1", "some-name-1", "some-url-1"], ["some-user-uuid", "some-name", "some-url.com"], ["some-user-id", "some_name", "some-url.com"]]
补充说明
\x02和\x03是ASCII控制字符,不属于Unicode专属,Python的字符串处理方法可以直接识别并处理这类字符,无需额外的Unicode转换操作。
内容的提问来源于stack exchange,提问作者Jun Chen
相关产品推荐
相关产品推荐

