gpt4 book ai didi

java - 使用前一个字符在 Java 中拆分字符串

转载 作者:行者123 更新时间:2023-11-30 08:14:31 26 4
gpt4 key购买 nike

我有一个字符串,它是一个链式进程调用,我需要在列表中获取各个进程,以便我可以处理各个进程。

例如。

如果我有

'funca("hello world").funcb("this.is.sparta").funcc()'

我想得到一个包含

的数组列表

['funca("hello world")' , 'funcb("this.is.sparta")' , 'funcc()']

现在,我无法拆分“.”上的字符串因为传递的参数也可以有 '.'特点。我试着在 ') 上拆分。但这最终会导致

['funca("hello world"' , 'funcb("this.is.sparta"' , 'funcc()']

所以基本上我现在需要的是一种在 ').' 上拆分的方法,但只在关联的 '.' 上拆分。拆分功能可以吗?或者我应该得到所有 ') 的位置。然后手动拆分?

我不确定如何进行。非常感谢您的指点。

最佳答案

您可以在您的正则表达式中使用正向回顾:

String text = "funca(\"hello world\").funcb(\"this.is.sparta\").funcc()";
String[] split = text.split("(?<=\\))\\.");
System.out.println(Arrays.toString(split));

输出:

[funca("hello world"), funcb("this.is.sparta"), funcc()]

正则表达式 (?<=\))\.匹配以 ) 开头的点.

关于java - 使用前一个字符在 Java 中拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450265/

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