gpt4 book ai didi

java - Java中将字符串拆分为列表

转载 作者:行者123 更新时间:2023-11-30 06:06:48 24 4
gpt4 key购买 nike

我正在尝试将字符串拆分为基于 :,"{[ }] 的列表这是我的代码,

List<String> list = new ArrayList<String>(Arrays.asList(line.split("{ | } | \\"| : | [ | ]|,")));

这不能编译。我不太擅长正则表达式。请提供任何帮助。

最佳答案

你的意思是你希望它拆分“每当你看到 : or , or "or { or [ or } or ]”?如果是这样,你真的不需要说太多:

.split("[:,\"{\\[ }\\]]")

即"拆分以下字符类定义中的任意字符::,"{[ }]",其中我们使用标准正则表达式字符类定义语法 ([...]) 并进行适当的转义。

通常这意味着正则表达式看起来像 /[:,"{\[ }\]]/ 但因为您正在正常的内部编写正则表达式string,需要更多的转义: " 需要常规字符串转义,这样你的字符串就不会过早结束(这样就变成了 \"),并且 [] 是正则表达式中的 Activity 字符,因此在正则表达式中它们之前需要 \ 。但是,我们不能只放置 \ 在字符串中并让它工作,因为 \ 是转义字符,所以我们需要“转义转义”,这意味着使用 \\ (给出 \\[\\])。

String[] result = "a:b,c\"d{e[f g}h]i".split("[:,\"{\\[ }\\]]");
System.out.print(result.length);
// => result has 9 elements in it, ['a',...,'i']

关于java - Java中将字符串拆分为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43357749/

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