Есть txt файл, в нем находятся слова, целые числа и дробные вперемешку. Подскажите, пожалуйста, как вытянуть оттуда только дробные числа?
Строку, после получения из файла, проверяете, как Вам уже посоветовали, регулярным выражением:
public static void main(String[] args)
{
System.out.println(checkWithRegExp("123,456"));
System.out.println(checkWithRegExp("45,9"));
System.out.println(checkWithRegExp("7.6"));
System.out.println(checkWithRegExp("0.78"));
}
public static boolean checkWithRegExp(String userNameString)
{
Pattern p = Pattern.compile("^\\d*[\\.\\,]\\d+$");
Matcher m = p.matcher(userNameString);
return m.matches();
}
Как то так наверно. Учитывается только точка и запятая. А потом уже парсите строку средствами double Java.
Построчно читаете файл и проверяете каждую строку по регулярному выражению line.matches("^(\\d)*([\\,\\.]){1}(\\d){1,}$").
Поэкспериментировать с регулярными выражениями можно здесь: Java Regular Expression Tester.
Пример ниже (могут быть ошибки, не компилировал):
FileInputStream fis = new FileInputStream("C:/sample.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line;
while((line = br.readLine()) != null) {
if(line.matches("^(\\d)*([\\,\\.]){1}(\\d){1,}$")) {
System.out.println("Бинго! Дробное число = " + line);
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей