gpt4 book ai didi

java - 无法正确拆分特定字符串

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

你好,这是我第一次在这里发帖,我确实环顾四周,但找不到我遇到的问题的答案。

我需要把这个字符串变成两个字符串:

"R(rndInt[-10,10]),R(rndInt[-10,10])"

 "R(rndInt[-10,10])" "R(rndInt[-10,10])"

长话短说,我正在修改游戏并创建我自己的脚本语言供人们使用。我制作了一个基于类/方法的结构(此处注释:http://pastie.org/8825346)。现在我正在努力做到这一点,以便您可以在方法中使用类/方法(适用于单参数方法)。

我现在遇到的问题是拆分该字符串,因为它有多个逗号。我真的想不出一种在不引起问题的情况下拆分它的方法。

有人可以帮忙吗?我现在很困惑。

编辑:已解决!

前瞻断言方法有效!到目前为止我还没有听说过。

我忘了说我不能使用“R”。 R 引用一个类,它可以有不同的名称。

我通过对字符串进行子串化找出“)”和“(”之间的内容,想出了解决该问题的方法。

String cName=oldStr.substring(oldStr.indexOf("),")+2);
cName=cName.substring(0, oldStr.indexOf("("));
System.out.println("CNAME:"+cName);
String[] test = oldStr.split(",(?="+cName+")");

谢谢你们,我非常感谢你们的帮助:)

最佳答案

如果您要创建自己的语言,最好将其视为一种语言并适本地做 lex/parse .有一些开源工具可以帮助解决这个问题,例如 JFlex .

但是,根据您当前的语言要求,您的结构足够简单,您可以像其他答案中所建议的那样执行 split()。随着您的语言随着时间的推移而发展,这可能仍然可行,也可能不可行。

关于java - 无法正确拆分特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22136224/

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