:이전 색인 다음에 오는 indexOf를 반환하는 방법은 무엇입니까? 예를 들어
str = "(a+b)*(c+d)*(e+f)"
str.indexOf("(") = 0
str.lastIndexOf("(") = 12
어떻게 두 번째 브래킷의 인덱스를 얻는 방법? (C에서 + d를) < -이
:이전 색인 다음에 오는 indexOf를 반환하는 방법은 무엇입니까? 예를 들어
str = "(a+b)*(c+d)*(e+f)"
str.indexOf("(") = 0
str.lastIndexOf("(") = 12
어떻게 두 번째 브래킷의 인덱스를 얻는 방법? (C에서 + d를) < -이
봐이 시도했다 : 반복
String word = "(a+b)*(c+d)*(e+f)";
String c = "(";
for (int index = word.indexOf(c);index >= 0; index = word.indexOf(c, index + 1)) {
System.out.println(index);//////here you will get all the index of "("
}
int first = str.indexOf("(");
int next = str.indexOf("(", first+1);
charAt()
반복indexOf()
은 일반용이 간단한 해결책보십시오 : 아이디어는
int index =0;
int resultIndex=0;
for (int i = 0; i < str.length(); i++){
if (str.charAt(i) =='('){
index++;
if (index==2){
resultIndex =i;
break;
}
}
}
당신은, 아파치 코 몬즈에서 StringUtils를 사용할 수는
StringUtils.indexof(str, ")", str.indexOf(")") + 1);
될 것이라고이 경우를 그 마지막 매개 변수에 당신 시작 위치를 지정할 수 있으므로 첫 번째 ")"를 피할 수 있습니다.
더 나은 방법이 있다고 생각합니다.
String str = "(a+b)*(c+d)*(e+f)";
str = str.replace(str.substring(str.lastIndexOf("*")), "");
int idx = str.lastIndexOf("(");
및 "(c의 +의 d)"
str = str.substring(idx);
@baraky'인덱스> = 0;'난 다시 내 대답 롤백을 유감, 루프의 조건 :( –
이제 알았어. :) – BobTheBuilder