Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
1 / 1 / 1
Регистрация: 01.12.2012
Сообщений: 116

Парсинг нецензурных слов в файле

18.09.2014, 20:26. Показов 4451. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая заменит все "нецензурные слова" в файле на [вырезано цензурой], пишем в тот же файл результат."нецензурные слова" программа считывает из другого файла.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.09.2014, 20:26
Ответы с готовыми решениями:

Фильтр нецензурных выражений
Здравствуйте! посоветуйте форму обратной связи с фильтром мата или как "прикрутить" такой фильтр к готовой форме. спасибо.

Фильтр нецензурных выражений
Привет! Подскажите, пожалуйста, как на C# Windows Forms сделать фильтр мата? Допустим, у меня есть файл/список/массив плохих слов, а как их...

Поиск в текстовом файле всех слов, заданных в другом текстом файле
Вообщем такое задание: Поиск в текстовом файле всех слов, заданных в другом текстом файле; Не могу понять почему не работает: ...

13
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.09.2014, 08:55
Работу с файловой системой сами напишите? Или написать?
Вот конструкция, которая вырезает цензуру.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Main {
    public static void main(String... args){
        String a = "Привет Дурак и балбес";
        String[] censored = {"дура", "дурак", "балбес"};
        String[] splitstring = a.split(" ");
        
        for(int k = 0; k < censored.length; k++){
            for(int i = 0; i < splitstring.length; i++){
                if(censored[k].equalsIgnoreCase(splitstring[i])){
                    splitstring[i] = "[вырезано цензурой]";
                }
            }
        }
 
        for(int i = 0; i < splitstring.length; i++){
            System.out.print(splitstring[i] + " ");
        }
    }
}
1
1 / 1 / 1
Регистрация: 01.12.2012
Сообщений: 116
19.09.2014, 11:53  [ТС]
1ds, Можете написать пожалуйста.
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.09.2014, 13:44
Вводите через консоль фразу + сверьте цензуру в массиве. Проверяйте

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package builder;
 
import java.io.*;
import java.util.*;
 
public class BuildString {
    
    String[] censored = {"дура", "дурак", "балбес"};
    public void createFile(){
        try(FileWriter fw = new FileWriter("filecencored.txt")) {
            PrintWriter pw = new PrintWriter(new FileOutputStream("filecencored.txt",  true )); 
            for(int i = 0; i < censored.length; i++){
                pw.println(censored[i]);
            }
            pw.close();
            fw.close();
        } catch (IOException e) {
            System.err.println(e.getMessage() + " при создании файла");
        }
    }
    
    public void writeCensoredString(){
        
        @SuppressWarnings("resource")
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите фразу для редактирования: ");
        String censoredstring = scanner.nextLine();
        String[] censoredsplit = censoredstring.split(" ");
        
        try(FileWriter fw = new FileWriter("censoredstring.txt")) {
            PrintWriter pw = new PrintWriter("censoredstring.txt");
            for(int i = 0; i < censoredsplit.length; i++){
                pw.println(censoredsplit[i]);
            }
            pw.close();
            fw.close();
        } catch (IOException e) {
            System.err.println(e.getMessage() + " при записи в файл");
        }
    }
    
    public void removeCensored(){
        
        ArrayList<String> censoredword = new ArrayList<String>();
        String readcensoredword = "";
        try(BufferedReader censored = new BufferedReader(new FileReader("filecencored.txt"))) {
            while((readcensoredword = censored.readLine()) != null){
                censoredword.add(readcensoredword);
            }
        } catch (FileNotFoundException e) {
            System.err.println(e.getMessage() + " при чтении файла цензуры");
        } catch (IOException e) {
            System.err.println(e.getMessage() + " при чтении файла цензуры");
        }
        
        ArrayList<String> userstring = new ArrayList<String>();
        try(BufferedReader readuserstring = new BufferedReader(new FileReader("censoredstring.txt"))) {
            while((readcensoredword = readuserstring.readLine()) != null){
                userstring.add(readcensoredword);
            }
        } catch (FileNotFoundException e) {
            System.err.println(e.getMessage() + " при чтении файла users");
        } catch (IOException e) {
            System.err.println(e.getMessage() + " при чтении файла users");
        }
        
        String[] censored = censoredword.toArray(new String[censoredword.size()]);
        String[] usercensored = userstring.toArray(new String[userstring.size()]);
        
        for(int k = 0; k < censored.length; k++){
            for(int i = 0; i < usercensored.length; i++){
                if(censored[k].equalsIgnoreCase(usercensored[i])){
                    usercensored[i] = "[вырезано цензурой]";
                }
            }
        }
 
        for(int i = 0; i < usercensored.length; i++){
           System.out.print(usercensored[i] + " ");
        }
    }
}
Java
1
2
3
4
5
6
7
8
public class Main {
    public static void main(String... args){
        BuildString buildstring = new BuildString();
        buildstring.createFile();
        buildstring.writeCensoredString();
        buildstring.removeCensored();
    }
}
0
1 / 1 / 1
Регистрация: 01.12.2012
Сообщений: 116
19.09.2014, 14:04  [ТС]
1ds, Вы как то тут очень круто написали, надо что б в 1 файле были записан текст, а в другом нецензурные выражения, и что б оно в файле там где текст меняла нецензурные выражения на "вырезано цензурой"
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.09.2014, 14:10
кто-то фрилансит и кидает сюда задания? типа эскалация задач
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.09.2014, 14:12
В 1 файле записаны нецензурные слова, в другом ваше предложение. Сделал через запись в файл, ведь фраза должна туда попасть, или вы хотите все время ручками туда добавлять её? )
0
1 / 1 / 1
Регистрация: 01.12.2012
Сообщений: 116
19.09.2014, 14:36  [ТС]
1ds, а как то проще можно записать? Просто много чего не понятно.
Вот это изменение в файле "censoredstring.txt" оно ищет фразу которую мы ввели и меняет?
Это что б самому не заходить в файл и менять?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@SuppressWarnings("resource")
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите фразу для редактирования: ");
        String censoredstring = scanner.nextLine();
        String[] censoredsplit = censoredstring.split(" ");
        
        try(FileWriter fw = new FileWriter("censoredstring.txt")) {
            PrintWriter pw = new PrintWriter("censoredstring.txt");
            for(int i = 0; i < censoredsplit.length; i++){
                pw.println(censoredsplit[i]);
            }
            pw.close();
            fw.close();
        } catch (IOException e) {
            System.err.println(e.getMessage() + " при записи в файл");
        }
    }
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.09.2014, 14:42
да, этот кусок считывает фразу и заливает её в отдельный файл. Если быстро объяснить, то:
FileWriter — отвечает за создание файла
PrintWriter — отвечает за запись данных в файл.
Блок try — отлавливает ошибки
0
1 / 1 / 1
Регистрация: 01.12.2012
Сообщений: 116
19.09.2014, 14:49  [ТС]
1ds, нам же в этой программе не надо ничего в консоль вводить, а мы просто запускаем программу и она меня заменяет в файле все нецензурные слова
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.09.2014, 14:50
Ну хотел сделать как легче)
0
1 / 1 / 1
Регистрация: 01.12.2012
Сообщений: 116
19.09.2014, 14:56  [ТС]
1ds, как по мне, то это трудней, я на курсах много из это еще не учил.
А можно как то убрать все эти выводы ошибок?
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.09.2014, 14:59
Нельзя, так как это неотъемлемая часть при работе с файловой системой. Исключения, которые там должны быть обязательно.
0
1 / 1 / 1
Регистрация: 01.12.2012
Сообщений: 116
19.09.2014, 15:28  [ТС]
1ds, я просто знаю только FileReader и FileWriter для работы с файлами, и вот с ними надо сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.09.2014, 15:28
Помогаю со студенческими работами здесь

Сравнение слов в одном файле со словами в другом файле
Здравствуйте! Суть задачи такая: 1. Первый файл - запросы с городами, второй файл - база городов РФ. Оба txt 2. Найти в запросах все...

Сравнение слов в одном файле со словами в другом файле
Здравствуйте! Суть задачи такая: 1. Первый файл - запросы с городами, второй файл - база городов РФ. Оба txt (для Excel пусть не файлы,...

Поиск определенных слов в ТХТ файле, и запись этих слов (если найдено) в отдельный файл
К примеру, есть файл &quot;Text.txt&quot;. В нем есть 1000 строк. Если какая-то строка = привет, то echo Привет &gt;&gt; Output.txt Как это...

Парсинг строк в файле
Помогите с задачкой. Есть файл, в котором содержатся строки типа id = ; Нужно сделать так, чтобы программа брала число1 и дописывала...

Парсинг строк в файле
Здравствуйте, есть файл. INFO: Test1 INFO: Test2 INFO: Test3 DATA: Test2 TEST: Test и т.д


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru