Игнорировать числа в строке

1

Пример:

    String t;
    String j ="j2se";
    Scanner sc =new Scanner(System.in);
    System.out.println("enter the search key:");
    t=sc.next();
    if (j.contains(t))
    {
        System.out.println("yes");
    }
    else System.out.println("no");

Если пользователь вводит "j2", "se" или "j2s" в качестве входа, выход "да". Если вход "jse", выход "нет".

Есть ли способ игнорировать число, хранящееся в строковом поиске, например, игнорирование букв верхнего или нижнего регистра?

  • 0
    не встроенный, создайте копию вашей строки и удалите из нее все символы, которые вам не нужны
  • 1
    только цифры? что если пользователь вводит "j @" или "j $ y", это нормально?
Показать ещё 2 комментария
Теги:
string

2 ответа

4

Почему вы не просто создаете копию этой строки без внутренних чисел? И после того, как juste сравните эту новую строку с вашим массивом?

Подобно:

String stringWithoutNumber = j.replaceAll("\\d+","");

stringWithoutNumber.contains(t);

Многие из программ имеют функцию, называемую sanitize, которая очищает URL-адрес или строку перед comparaison.

Надеюсь, что это поможет

-- РЕДАКТИРОВАТЬ --

Вам не нужно помещать + в \\d+ потому что метод replaceAll заменяет всю цифру. Но он более эффективен, потому что он делает меньше замены.

  • 0
    @TheLostMind, я опоздал ^^
  • 0
    Никогда не поздно .. :)
Показать ещё 7 комментариев
4

используйте replaceAll("\\d+","") в replaceAll("\\d+","") а затем сравните. Это удаляет все числа из вашей строки. Теперь вы можете использовать эту новую String и сравнить. или использовать:

\\W+ // replaces everything apart from characters .
  • 0
    Спасибо, это работает !

Ещё вопросы

Сообщество Overcoder
Наверх
Меню