Удаление числовых значений из строк на Java

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь удалять числовые значения из строки на Java. Строки на Java могут содержать буквенно-цифровые символы и специальные символы. Поэтому иногда необходимо отфильтровать строку, чтобы оставить только буквы. В этом практическом занятии мы будем использовать метод replaceAll(), который принимает два аргумента: регулярное выражение для фильтрации строки и строку-заменитель.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java/BasicSyntaxGroup -.-> java/output("Output") java/StringManipulationGroup -.-> java/strings("Strings") java/StringManipulationGroup -.-> java/regex("RegEx") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_methods("Class Methods") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/output -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} java/strings -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} java/regex -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} java/class_methods -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} java/files -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} java/create_write_files -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} java/working -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} java/string_methods -.-> lab-117447{{"Удаление числовых значений из строк на Java"}} end

Создайте новый Java-файл

Перейдите в каталог ~/project и создайте новый Java-файл с помощью следующей команды:

touch RemoveNumericValues.java

Определите метод main()

Откройте файл RemoveNumericValues.java в текстовом редакторе и определите метод main() следующим образом:

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);
    }
}

Используйте регулярные выражения для удаления числовых значений

В этом шаге мы будем использовать регулярные выражения для удаления числовых значений из строки.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

В коде выше мы использовали метод replaceAll(), чтобы заменить все символы, кроме букв, в строке str. Регулярное выражение [A-Za-z] будет соответствовать всем символам от A до Z и от a до z.

Используйте регулярные выражения для удаления цифр

В этом шаге мы будем использовать регулярные выражения для удаления цифр из строки.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

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

Используйте регулярные выражения для удаления цифр (альтернативный метод)

В этом шаге мы будем использовать другое регулярное выражение для удаления цифр из строки.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

В коде выше мы использовали метод replaceAll(), чтобы заменить все цифры в строке str. Регулярное выражение [0-9] будет соответствовать всем цифрам, присутствующим в строке.

Скомпилируйте и запустите код

Сохраните внесенные изменения в файле RemoveNumericValues.java, откройте терминал, перейдите в каталог проекта и введите следующую команду для компиляции кода:

javac RemoveNumericValues.java

После успешной компиляции кода введите следующую команду для запуска кода:

java RemoveNumericValues

Результат работы кода будет отображаться в терминале.

Измените входную строку

Для тестирования кода на различных входных строках измените строку str на любое значение по своему выбору.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

Протестируйте альтернативный метод

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

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

Протестируйте второй метод

Измените предыдущую версию кода для тестирования второго метода следующим образом:

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

Резюме

В этом практическом занятии мы научились удалять числовые значения из строки на Java. Мы использовали метод replaceAll() вместе с разными регулярными выражениями для фильтрации строки и получения только букв. Мы также научились тестировать код с разными входными строками.