gpt4 book ai didi

java - 解析特殊格式的字符串

转载 作者:搜寻专家 更新时间:2023-11-01 02:42:32 25 4
gpt4 key购买 nike

<分区>

我有一个遗留应用程序,它以一种特殊的格式将数据存储在数据库中

例如我有以下字符串

a:4:{i:0;s:4:"a’";i:1;s:6:"abcdef";i:2;s:5:"abcde";i:3;s:3:"xyz";}

表示以下四个单独的字符串:

  1. 一个’
  2. abcdef
  3. 开始
  4. 某某

粗略一看,s 后面的参数是对应字符串的长度。然而,这不是第一个字符串的情况,其中 s 之后的预期参数应该是 2 而不是 4

截至目前,我正在通过以下方法解析此字符串:

首先通过正则表达式获取 i:0;s:4:"a'";i:1;s:6:"abcdef";i:2;s:5:"abcde";i:3 ;s:3:"xyz";

然后通过正则表达式 ^i:\d+;s:(\d+):"(.+)$ 得到 len = 4a'";i:1;s:6:"abcdef";i:2;s:5:"abcde";i:3;s:3:"xyz"; 通过取前 4 个字符获得第一个选项(这在这里不起作用,因为 len 应该是 2),然后得到 i:1;s:6:"abcdef";i:2;s:5:"abcde"; i:3;s:3:"xyz"; 并进一步迭代。

我最初也曾尝试通过正则表达式 i:\d*;s:\d*:"([^;]*)"; 一次解析所有内容,但这行不通如果字符串包含这个模式(s 之后的参数应该是执行此操作的明确方法)。

我还检查了如果字符串是 a’Δ 则参数变为 6。

您建议我如何处理此类字符串(带有特殊字符),您能告诉我这种格式是什么以及如何解析它吗?

PS:我用的是java

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com