在获取两个分隔符之间的所有字符串时,我遇到了一些小问题。根据我在其他相关问题中看到的,(其中之一)获取两个分隔符之间的字符的方法如下:
给定一些字符串,在我的例子中是"void foo(int a, int b) {"
,我想获取括号内的每个字符。
使用:
String parameters = currLine.trim().substring(currLine.indexOf("("),
currLine.indexOf(")")-1);
这里的currLine
当然是"void foo(int a, int b) {"
。
现在一切都运行得很完美,因为我可以获得"int a, int b"
这样的字符串。
问题是,如果是像下面这样的字符串:
void foo ( int a , String b ) {
我知道:
parameters = "nt a , String b ) "
但我不知道如何解决这个问题,而不会对第一个案例造成问题。
trim()
方法不会修改原始字符串,而是创建一个新的字符串(因此currLine
仍然保留原始未修剪的字符串,并且您收到的索引也基于它)。另外,我不确定您在这里尝试实现什么目的。请考虑在问题中澄清其目的。 - PshemoindexOf
时,您在原始的String
上执行该操作而不是修剪后的字符串。 - jccampanero