Java Trim Strings

10 лучших JavaScript IDE (и редакторов кода) на 2022 год Программирование и разработка

Когда пользователь компьютера вводит текст с помощью терминала или поля ввода текста окна, полезной фразе может предшествовать и/или следовать пробел. Пробелы, записанные как пробелы (для краткости), представляют собой одну или несколько из следующих escape-последовательностей, встречающихся последовательно:

‘ ‘ or \u0020′: space by pressing spacebar key
\n: line feed
\r: carriage return
‘f’: form feed
\t: horizontal tab

В большом тексте определенные обязательные фразы должны начинаться и/или заканчиваться пробелами. Когда такая фраза извлекается, она может содержать начальные и/или конечные пробелы. Независимо от того, как получена полезная фраза, начальные или конечные пробелы должны быть удалены, чтобы фраза использовалась правильно.

В пакете java.lang есть класс string. Этот строковый класс имеет метод под названием trim(). Метод trim() удаляет начальный и/или конечный пробел из строки. Он возвращает строку с удаленными начальными и/или конечными пробелами.

В Java строковый класс не нужно импортировать; он импортируется автоматически. Чтобы использовать строковый класс в коде, строковый класс должен быть набран как «String» с первой буквой в верхнем регистре.

Демонстрация эффекта пробелов

Начальные и/или конечные пробелы могут быть неприятными. Скомпилируйте и запустите следующую программу:

    class TheClass {

public static void main(String[] args) {
String str =  » \t\n\r\fuseful part \t\n\r\f«;
System.out.println(str);
}
}

В компьютере автора «полезная часть» печаталась с пустыми строками сверху и снизу.

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

Метод trim() прост в использовании. Синтаксис:

public String trim()

Следующая программа иллюстрирует его использование:

    class TheClass {
public static void main(String[] args) {
String str =  » \t\n\r\fuseful part \t\n\r\f«;
String ret = str.trim();
System.out.println(ret);
}
}

Результат:

useful part

без каких-либо начальных или конечных пробелов.

Читайте также:  Адаптивный дизайн сайта

Обработка ввода из консоли

В Java есть несколько способов ввода данных с клавиатуры в программу. Один из способов использует класс Scanner. Класс Scanner находится в пакете java.util. Следующая программа показывает, как ввести строку с клавиатуры в программу:

    import java.util.Scanner;

public class TheClass {
public static void main(String[] args) {
Scanner obj = new Scanner(System.in);
System.out.println(«Type a phrase and press Enter:»);

String phrase = obj.nextLine();
System.out.println(phrase);

obj.close();
}
}

Первая строка программы импортирует класс Scanner. После этого идет определение основного класса (реализация). Основной класс имеет метод main. В методе main() первый оператор создает экземпляр объекта сканера. Следующий оператор выводит текст на консоль, предлагая пользователю ввести фразу. В этот момент программа ждет, пока пользователь введет фразу.

Следующий оператор считывает строку ввода в переменную фразу. Следующий оператор в методе main() повторно отображает эту фразу в том виде, в каком она была введена, со всеми начальными или конечными пробелами. Последний оператор в методе main() закрывает объект сканера.

Начальные или конечные пробелы обычно не требуются при вводе с клавиатуры. Их просто удалить; просто используя метод trim() строкового объекта. Следующая программа иллюстрирует это:

    import java.util.Scanner;

public class TheClass {
public static void main(String[] args) {
Scanner obj = new Scanner(System.in);
System.out.println(«Type a phrase and press Enter:»);
String phrase = obj.nextLine();

String str = phrase.trim();

System.out.println(str);
obj.close();
}
}

Начальные или конечные пробелы, набранные с помощью клавиши пробела, были удалены.

Обрезка с помощью регулярного выражения

С регулярным выражением Java нет необходимости использовать метод trim(). Регулярное выражение — это выражение, основным компонентом которого является шаблон. Шаблон представляет собой строку со строковыми метасимволами. Шаблон идентифицирует подстроку с определенными символами в целевой строке. Такая подстрока, идентифицированная в целевой строке, может быть заменена. Регулярное выражение — это конструкция, содержащая шаблон.

Целевая строка может быть входной строкой, считанной с клавиатуры. Подстрока, которую следует идентифицировать в этом разделе, — это начальный и/или конечный пробел. Помните, что этот пробел состоит из одного или нескольких различных пробельных символов, упомянутых выше. Когда этот пробел находится в начале или в конце целевой строки, он ничем не заменяется.

Читайте также:  Python или JavaScript: сравнение, что лучше, что перспективнее

Шаблон для этого пробела — [\u0020\t\n\r\f]* или \s*. \s означает [\u0020\t\n\r\f]. Регулярное выражение для сопоставления начального или конечного пробела:

«^[ |\t|\n|\r|\f]*|[ |\t|\n|\r|\f]*$»

Класс string имеет метод replaceAll(), который можно использовать для удаления начального и конечного пробела из целевой строки. В следующей программе rawStr — это строка с пробелами. В этой строке два слова: «один» и «два». Есть пробелы перед «один», после «два» и между «один» и «два». Программа успешно удаляет начальные и конечные пробелы, а не пробелы между «один» и «два». FineStr — это строковая переменная без начальных и конечных пробелов. Первым аргументом replaceAll() является регулярное выражение. Второй аргумент — это замена, которая в данном случае представляет собой пустую строку (даже без пробела). Программа:

    public class TheClass {
public static void main(String[] args) {
String rawStr = » \t\n\r\fone \t\n\r\ftwo \t\n\r\f«;

String refinedStr = rawStr.replaceAll(«^[ |\t|\n|\r|\f]*|[ |\t|\n|\r|\f]*$»«»);

System.out.println(refinedStr);
}
}

Так что на выходе между «один» и «два» будет пустая строка.

Заключение

Обрезка строки означает удаление начальных и конечных пробелов. Пробел здесь состоит из одного или нескольких из ’ ’ или \t или \n или \r или \f. Любая комбинация этих символов в тексте не удаляется. Лучший способ удалить начальный и конечный пробелы из строки — использовать метод trim() класса string. Класс string также имеет метод replaceAll(), который можно использовать для обрезки. Однако метод replaceAll() требует знаний и опыта в использовании методов регулярных выражений, как показано выше. Первым аргументом replaceAll() является регулярное выражение; второй аргумент — текст замены, который в данном случае должен быть.

Оцените статью
bestprogrammer.ru
Добавить комментарий

Adblock
detector