Войти или зарегистрироваться

Помогите Контроль чата

MrElitePro

Активный участник
Пользователь
Баллы
46
Имя в Minecraft
MrElitePro
Как сделать контроль чата сильнее? Тоесть есть список слов запрещенных если их я ввожу то плагин не дает их ввести,а если введешь например админ1,то он пропускает,может кто-то знает как сделать если находит слово из списка то хоть чего не добавляй но он не пропустит
 
Как сделать контроль чата сильнее? Тоесть есть список слов запрещенных если их я ввожу то плагин не дает их ввести,а если введешь например админ1,то он пропускает,может кто-то знает как сделать если находит слово из списка то хоть чего не добавляй но он не пропустит
Проверять строку с помощью equals
 
Эхх все пропускает у меня хе-хе
ООО все получилось,спасибо разобался
А можно пару примерчиков по символам,всего парочку и чтобы потом проверялось?
 
Эхх все пропускает у меня хе-хе
ООО все получилось,спасибо разобался
А можно пару примерчиков по символам,всего парочку и чтобы потом проверялось?
У меня реализации нету, но работает так. Ты преобразовываешь сообщение в символы, и убираешь все не буквы. После чего преобразуешь полученный массив в строку, и проверяешь способом описанным выше.
 
Лол. Какой equalsIgnoreCase то? Либо contains с toLowerCase, либо регулярками.
Бтв, я за свободу мата в чате майнкрафта.
 
Тоже советую использовать Regex (регулярки), поскольку можно максимально тонко настроить фильтрацию. Подробнее об этой вещице можно почитать в гугле.
 
Можно по разному контролить слова из списка, можно через equals, equalsIgnoreCase, указав regex, indexof, проверка на символы через цикл (п.с. ну с символами ваще если делать нефиг =D)
 
Можно по разному контролить слова из списка, можно через equals, equalsIgnoreCase, указав regex, indexof, проверка на символы через цикл (п.с. ну с символами ваще если делать нефиг =D)
Если надо можно и сделать
 
Я сделал через contains и toLowerCase,временно вот надо теперь регулярку сделать
А можно вот как-то сделать проверку на символы типа если слово БАНКА,то его запрещает у меня щас,а если написать БАНК-А,то он пропускает,знаю что через регуляр надо,а как это оформить? чтобы он проверял слово и регуляр типа
 
Я сделал через contains и toLowerCase,временно вот надо теперь регулярку сделать
А можно вот как-то сделать проверку на символы типа если слово БАНКА,то его запрещает у меня щас,а если написать БАНК-А,то он пропускает,знаю что через регуляр надо,а как это оформить? чтобы он проверял слово и регуляр типа
По-моему, проще убрать лишние символы.
 
Последнее редактирование:
Dereku, почему не можно, вполне можно, это банальное сравнение, только от него ты не сделаешь должного контроля, мне как-то полегче слова эти загружать из файла в динамический список и при помощи "контэйнса" узнавать о его содержании в этом списке, так же известно что школьники обходят запрещённые слова путём подмены русской буквы на английскую и наоборот, тогда в этом случае нужно и это предусмотреть для большего контроля.
БАНК-А, убираем "-", получаем БАНКА. Делаем аналогично для все слов/символов - проблема решена.

Используя регулярные выражения вы только можете проверить, соответствует ли слово формату, который вы зададите.
Имеется ввиду replace(String s, String s2) | replaceAll(String s, String s2) ? =)
 
Dereku, почему не можно, вполне можно, это банальное сравнение, только от него ты не сделаешь должного контроля, мне как-то полегче слова эти загружать из файла в динамический список и при помощи "контэйнса" узнавать о его содержании в этом списке, так же известно что школьники обходят запрещённые слова путём подмены русской буквы на английскую и наоборот, тогда в этом случае нужно и это предусмотреть для большего контроля.

Имеется ввиду replace(String s, String s2) | replaceAll(String s, String s2) ? =)
Да не вроде там что-то посложнее там через регуляр надо
По-моему, проще убрать лишние символы.
Можно пример легкий чтобы понять
 
Да не вроде там что-то посложнее там через регуляр надо

Можно пример легкий чтобы понять
Java:
    HashSet<String> badWords = new HashSet<>();

    //заполняем структуру словами...   

    public boolean check(String input)
    {
        String rawWord = input.replaceAll("[^а-яА-Я]", "");
      
        if(badWords.contains(rawWord))
            return true;
        else
            return false;
    }
 
Последнее редактирование:
Назад
Верх