문자열이 "영국 (영국), 미국 (미국), 인도 (인도)" 나는 단지 괄호 안에있는 값을 원한다. 즉 "영국, IND ". 나는 java를 처음 사용합니다. 나는이문자열에 대한 연산
0
A
답변
1
public static void main(String[] args) {
String example = "United Kingdom (UK), United States Of America (USA), India (IND)";
Matcher m = Pattern.compile("\\(([^)]+)\\)").matcher(example);
while (m.find()) {
System.out.println(m.group(1));
}
}
출력을하는 방법을 가르쳐주세요
UK
USA
IND
0
이 사용할 수 있습니다 :
String str = "United Kingdom (UK), United States Of America (USA), India (IND)";
StringTokenizer st2 = new StringTokenizer(str, "(,)");
boolean skip = false;
while (st2.hasMoreTokens()) {
if (skip) {
System.out.println(st2.nextToken());
skip = false;
}else{
String string = st2.nextToken().toString();
skip = true;
}
}
출력을
UK
USA
IND
+0
이 작업을 꼭 수행하십시오. 왜냐하면 당신의 건너 뛰기가 false라면 java second에 그렇게 bool이 없기 때문에 블록이 계속 실행될 가능성이 없다. 내게 따르면 출력이없는 무한 루프입니다 –
+0
@amitbhardwaj 네, 감사합니다. –
정규식'Matcher''같이 IndexOf()','subString()' –
이 책을 읽으면 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html 프로그램을 작성하십시오. 당신의 코드에 문제가 있다면 코드 –