У меня есть большая строка, которая содержит числа и текст. Теперь я хочу точно указать число из этой строки. Число начинается каждый раз с «6» и тремя «0», но число может быть разными цифрами. Для примера здесь является попытка:Номер извлечения из строки
String text1 = "ID 6 IDENTIFICATION NUMBER 600026821 NAME: BECK POSTCODE 60025";
if(text1.contains("6000"))
{
System.out.println(text1.indexOf("6000"));
}
Так как вы можете видеть, что строка может также содержит почтовый индекс цифры и идентификаторы. Но число, которое я хочу, всегда имеет ту же длину 9 цифр и начинается с «6000 ...».
Так как я могу извлечь этот номер?
Благодаря
EDIT
Хорошо, теперь я попробовать это одно:
String index = "6000";
String text1 = "ID 6 IDENTIFICATION NUMBER 600026821 NAME BECK POSTCODE 60025";
System.out.println(text1.indexOf(index));
String number = text1.substring(text1.indexOf(index), text1.lastIndexOf(text1.indexOf(index) + 5));
System.out.println(number);
Она начинается, но заканчивается не правильно
Вы можете смотреть на регулярных выражениях: http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html –
Вы почти там. Когда у вас есть индекс 6000 в строке, используйте подстроку, чтобы получить 9 символов после этого индекса. Обратите внимание, что вызов содержит() бесполезно, поскольку indexOf() предоставляет вам ту же информацию. –
Посмотрите на регулярные выражения. Сейчас я попытаюсь придумать пример, но вы должны иметь возможность сказать, что вы можете извлечь любое число, начинающееся с 6000, и заканчивается либо пробелом, либо концом строки. Я не буду отправлять ответ, если не выясню точного регулярного выражения, которое вам понадобится. –