我有一个字符串first=abc123,second=status,z=3,a=45745
,想得到一个输出abc123,status,3,45745
。
我可以尝试将其拆分为多个数组并获取值或将此字符串放入 ArrayList 并拆分以获取结果,但想检查是否有人已经有了不涉及大量数组创建或操作的解决方案。就像一个可能有用的正则表达式。
~TIA
.*?=([a-zA-Z0-9]*)
这将起作用。但是,为了使它更好,对 = 符号之后或之前的字符有一些限制吗?
例如,
[a-zA-Z]*?=([a-zA-Z0-9]*)
这只会检查等号开头是否只有字母,然后是字母/数字,然后忽略 , 。如果不满足这些要求,它将失败。
如果你知道永远不会有一个数字=我会建议事情回答。
注意:您需要的所有内容都将在正则表达式调用的捕获组中捕获,该捕获组由 () 表示。
此表达式将仅将键值集的值部分作为值数组返回。
(?<=\w=)[^,]*
Live Demo
示例文本
first=abc123,second=status,z=3,a=45745
火柴
[0][0] = abc123
[1][0] = status
[2][0] = 3
[3][0] = 45745