Строка Java contains Method

Веб-разработка на Java Программирование и разработка

Когда программист хочет знать, существует ли подстрока в строке, наступает время. В Java подстрока называется последовательностью символов. Итак, в Java бывают случаи, когда программист хочет знать, существует ли последовательность символов в строке. Для этого используется метод Java contains(). Полный синтаксис:

public boolean contains(CharSequence s)

где s — подстрока.

Возвращаемое значение является логическим. Это либо правда, либо ложь. Если строка содержит последовательность символов, возвращается значение true. Если он не содержит последовательности символов, возвращается false. Одного вхождения последовательности символов (подстроки) достаточно, чтобы вернуть значение true. Это означает, что это первое событие, которое имеет значение.

Это не статический метод. Таким образом, перед использованием метода необходимо создать экземпляр строкового объекта.

Класс Java String не имеет методов с именами find() или search(). В других языках класс string имеет метод find() или search(), который служит той же цели, что и этот метод Java contains().

В Java класс String находится в пакете Java.lang. Этот пакет автоматически импортируется компилятором Java. Программист не должен импортировать его с оператором.

В этой статье показано, как ответить на вопрос: содержит ли строка Java определенную подстроку (последовательность символов)? — И если да, то как удалить или заменить подстроку. Поиск в классе String в Java чувствителен к регистру.

Использование метода contains()

В следующей программе показано, как использовать метод contains():

    public class TheClass {
public static void main(String[] args) {
String str = «The world continuous to become a global village. Our world is a planet.»;
boolean bl = str.contains(«world»);
System.out.println(bl);
}
}

Вывод верный. В программе есть только один класс с методом main(). Метод main() содержит весь код. Первый оператор в методе main() имеет инстанцированную строку с двумя одинаковыми символьными последовательностями, «мир». Второй оператор использует метод string contains(). Он проверяет, найден ли в строке «мир». Если он найден, он возвращает true. Если он не найден, он возвращает false. Третий оператор выводит возвращаемое логическое значение (в данном случае true).

Следующая программа выводит false, потому что в строке не найдено слово «земля»:

    public class TheClass {
public static void main(String[] args) {
String str = «The world continuous to become a global village. Our world is a planet.»;
boolean bl = str.contains(«earth»);
System.out.println(bl);
}
}

Последовательность символов «мир», которую нужно искать, может быть переменной. Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
String str = «The world continuous to become a global village. Our world is a planet.»;
String var = «world»;
boolean bl = str.contains(var);
System.out.println(bl);
}
}

Вывод верный. Последовательность символов «земля», которая привела к ошибке, также может быть переменной. Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
String str = «The world continuous to become a global village. Our world is a planet.»;
String var = «earth»;
boolean bl = str.contains(var);
System.out.println(bl);
}
}

Вывод ложный.

Удаление найденной подстроки

После того, как будет обнаружено, что строка содержит последовательность символов, последовательность символов (подстроку) можно удалить. Класс Java String не имеет метода удаления или удаления для найденной подстроки. Однако есть обходной путь: класс Java String имеет метод replace(). Метод replace() не нуждается в методе contains(). Он ищет последовательность символов и заменяет ее. То, что найдено, можно заменить пустой строкой, а это удалить. Полный синтаксис для замены первого вхождения:

public String replace(CharSequence target, CharSequence replacement)

где цель — это искомая последовательность символов, а замена — замена. В этом случае заменой является пустая строка «„. Метод не является статическим. Это означает, что строковый литерал должен относиться к созданному классу String. Метод возвращает вторую строку с удаленной подстрокой.

В следующей программе показано, как удалить все одинаковые подстроки, содержащиеся в строке:

    public class TheClass {
public static void main(String[] args) {
String strOld = «The world continuous to become a global village. Our world is a planet.»;
String strNew = strOld.replace(«world»«»);
System.out.println(strOld);
System.out.println(strNew);
}
}

Результат:

The world continuous to become a global village. Our world is a planet.

The continuous to become a global village. Our is a planet.

Исходная строка остается неизменной. Обратите внимание, что после «The» и после «Our» в измененной строке есть двойные пробелы. Это означает, что либо пробел перед «миром», либо после «мира» также нужно было удалить. Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
String strOld = «The world continuous to become a global village. Our world is a planet.»;
String strNew = strOld.replace(» world»«»);
System.out.println(strOld);
System.out.println(strNew);
}
}

Результат теперь удовлетворительный, а именно:

The world continuous to become a global village. Our world is a planet.

The continuous to become a global village. Our is a planet.

Замена всех найденных подстрок

Одни и те же найденные последовательности символов могут быть заменены одной и той же подстрокой. Подход тот же, что и выше, но вместо пустой строки используется строка с текстом. Следующая программа показывает, как это сделать:

    public class TheClass {
public static void main(String[] args) {
String strOld = «The world continuous to become a global village. Our world is a planet.»;
String strNew = strOld.replace(«world»«earth»);
System.out.println(strOld);
System.out.println(strNew);
}
}

Результат:

The world continuous to become a global village. Our world is a planet.

The earth continuous to become a global village. Our earth is a planet.

Подстрока ищется, и замена не обязательно должна быть такой же длины.

Вывод

Чтобы узнать, содержит ли строка последовательность символов, используйте метод String, str.contain(), где str — это экземпляр класса String. Для поиска и замены всех одинаковых подстрок используйте метод str.replace().

Читайте также:  Зачем вам нужен сертификат веб-разработки
Оцените статью
bestprogrammer.ru
Добавить комментарий