0

我有一个字符串first=abc123,second=status,z=3,a=45745,想得到一个输出abc123,status,3,45745

我可以尝试将其拆分为多个数组并获取值或将此字符串放入 ArrayList 并拆分以获取结果,但想检查是否有人已经有了不涉及大量数组创建或操作的解决方案。就像一个可能有用的正则表达式。

~TIA

4

2 回答 2

1
.*?=([a-zA-Z0-9]*)

正则表达式可视化

在 Debuggex 上实时编辑

这将起作用。但是,为了使它更好,对 = 符号之后或之前的字符有一些限制吗?

例如,

[a-zA-Z]*?=([a-zA-Z0-9]*)

正则表达式可视化

这只会检查等号开头是否只有字母,然后是字母/数字,然后忽略 , 。如果不满足这些要求,它将失败。

如果你知道永远不会有一个数字=我会建议事情回答。

注意:您需要的所有内容都将在正则表达式调用的捕获组中捕获,该捕获组由 () 表示。

于 2013-08-30T16:24:24.757 回答
0

描述

此表达式将仅将键值集的值部分作为值数组返回。

(?<=\w=)[^,]* Live Demo

在此处输入图像描述

示例文本

first=abc123,second=status,z=3,a=45745

火柴

[0][0] = abc123
[1][0] = status
[2][0] = 3
[3][0] = 45745
于 2013-08-30T16:56:47.197 回答