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

标签 java string split

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

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

"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/

相关文章:

Java 使用关键字拆分字符串

regex - Bash 脚本 - 使用正则表达式分隔符拆分字符串

Python:遍历字符串列表并使用 split()

Java 二维字符串数组 : find column where all elements are the same

java - 从 Firebase 数据库中按 id 检索对象

java - 为什么这个 for 循环不允许我在第一个循环中输入文本?

java - 将字符串转换为 map 列表

Java 字符串——比较 charAt() 和索引运算符 []

就地for循环中的Python字符串连接?

java - Scala 中 Java 的 Map.of