У меня есть String как «Великобритания (Великобритания), Соединенные Штаты Америки (США), Индия (IND)« Мне просто нужны значения, которые находятся в скобках, т. Е. Я хочу строку «Великобритания, США, IND ". Я новичок в java. Пожалуйста, скажите мне, как я должен это сделатьОперация на String
ответ
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
Поскольку вопросник является новичком, вам будет полезно узнать больше об объяснении ... – Holger
полностью согласен с @Holger –
Хотя я согласен с вышеуказанными комментариями и надеюсь, что никто не будет оскорблен: вопросы не звучат так, как спрашивает искатель * объяснения * ... – Marco13
вы можете использовать это:
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
Вы уверены, что эта работа. Поскольку в java нет такой вещи «bool», если ваш скип ложный, тогда нет никаких шансов, что если блок будет выполняться когда-либо. По мне, это бесконечный цикл без вывода –
@amitbhardwaj да спасибо, отредактирован, конечно, это будет работать сейчас –
регулярное выражение '' Matcher' IndexOf() ',' subString() ' –
прочитайте это http://docs.oracle.com/javase/7/docs/api/java/lang/String.html, чтобы создать программу. если у вас есть какие-либо проблемы в вашем коде, тогда придите к SO с кодом –