Просмотр полной версии : Поиск слова в строке(java)
Есть файл с текстом "Вася = человек"(пример), надо найти в файле слово "Вася = ", а то что на против ровно(т.е "человек") записать в jTextField1. При этом вместо "человек" могут быть другие слова.
Cujoko, благодарю
этот код пашет
String str = null;
try {
LineNumberReader lnr = new LineNumberReader(new BufferedReader(new FileReader("/home/waterman/file_1")));
Pattern p1 = Pattern.compile(".*Вася = (\\w+).*");
while (((str = lnr.readLine()) != null)) {
Matcher m = p1.matcher(str);
if (m.find()) {
jTextField1.setText(jTextField1.getText() + m.group(1));
}
}
lnr.close();
} catch (IOException e) {
javax.swing.JOptionPane.showMessageDialog(null, "Ошибка\n");
}
}
но теперь другая проблема глуки с "/" и "\", если в файле строка "Вася = человек/корм", то в jTextField1 выводится то ко "человек"
Pattern p1 = Pattern.compile(".*Вася = ([\\w/\\\\]+).*");
благодарю! работает
я так понял [xyz] это значение которые могут принимать символы
есть файл в нём 3-и строки.
Вася = человек
Петя = человек
Федя = человек
хочу найти строки(словосочетания) "Вася = человек" если нашло то поставить
галочку(jCheckBox1.setSelected(true)) и так для всех 3 строк. НО почему то поиск срабатывает только для последний строки в файле.
String str1 = null;
try {
LineNumberReader lnr1 = new LineNumberReader(new BufferedReader(new FileReader("/home/waterman/file_2")));
Pattern p1 = Pattern.compile(".*Вася = человек.*");
Pattern p2 = Pattern.compile(".*Петя = человек.*");
Pattern p3 = Pattern.compile(".*Федя = человек.*");
while ((str1 = lnr1.readLine()) != null) {
Matcher m1 = p1.matcher(str1);
Matcher m2 = p2.matcher(str1);
Matcher m3 = p3.matcher(str1);
if (m1.find()) {
jCheckBox1.setSelected(true);
} else {
jCheckBox1.setSelected(false);
}
if (m2.find()) {
jCheckBox2.setSelected(true);
} else {
jCheckBox2.setSelected(false);
}
if (m3.find()) {
jCheckBox3.setSelected(true);
} else {
jCheckBox3.setSelected(false);
}
lnr1.close();
} catch (IOException ex1) {
javax.swing.JOptionPane.showMessageDialog(null, "error!");
}
}
всем спасибо, ошибку нашол :D
Moonlight
24.12.2009, 16:49
изучайте перл
vBulletin® v3.6.3, Copyright ©2000-2024, Якутск-Online. Перевод: zCarot