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