0

我正在编写代码来发现字符串的最左内索引(我正在做字符串解析)

下面的代码看起来正确吗?

 String   t = "VREF_DAC_BAND_GAP_(VALUE|DELTA|TRIM|K(7-0|15-9))"
 int lb_ind = t.indexOf('(', 0);      // left bracket index
 int rb_ind = t.indexOf(')', lb_ind); //right bracket index


 while((t.indexOf("(", lb_ind+1) != -1) && (t.indexOf("(", lb_ind+1) < rb_ind))
      {
          lb_ind = t.indexOf('(', lb_ind+1);
      }



 //  lb_ind should now contain the position of the inner left most parenthesis
4

1 回答 1

0

是的,但是您可以使用下面的而不是 while 循环。

lastIndexOf(String str, int fromIndex)
返回此字符串中指定子字符串最后一次出现的索引,从指定索引开始向后搜索。

String   t = "VREF_DAC_BAND_GAP_(VALUE|DELTA|TRIM|K(7-0|15-9))"
int lb_ind = t.indexOf('(', 0);      // left bracket index
int rb_ind = t.indexOf(')', lb_ind); //right bracket index

if(t.lastIndexOf("(", rb_ind) != -1)
  {
      lb_ind = t.lastIndexOf("(", rb_ind);
  }
于 2013-02-26T00:41:15.630 回答