</>

Technology

Java Programs

Difficulty

Intermediate

Interview Question

Write a Java program to remove junk/special characters from a string using replaceAll() with regex.

Answer

Remove Junk/Special Characters from String

Java
public class RemoveJunk {
    public static void main(String[] args) {

        String s  = "â°?米好éQç¸~ latin string 0123456789 0";
        String s1 = "@#$@#$@ testing #@$@#$@$ Selenium !@#$@#$@ &&&&  Java";

        // Regular Expression: [^a-zA-Z0-9]
        // ^ inside [] means NOT: remove everything that is NOT a letter or digit
        s  = s.replaceAll("[^a-zA-Z0-9]", "");
        System.out.println(s);   // → latinstrinq01234567890

        s1 = s1.replaceAll("[^a-zA-Z0-9]", "");
        System.out.println(s1);  // → testingSeleniumJava
    }
}

Output

CODE
latinstrinq01234567890
testingSeleniumJava

Common Regex Patterns for String Cleaning

Java
String s = "@#$Hello, World!!! 123   ";

// Remove all special characters (keep only letters and digits)
s.replaceAll("[^a-zA-Z0-9]", "");            // "HelloWorld123"

// Keep letters, digits, and spaces
s.replaceAll("[^a-zA-Z0-9 ]", "");           // "Hello World 123"

// Remove only digits
s.replaceAll("[0-9]", "");                   // "@#$Hello, World!!!   "

// Remove only special characters (keep letters, digits, spaces)
s.replaceAll("[^\\w\\s]", "");               // "Hello World 123   "

// Remove leading/trailing whitespace
s.trim();                                    // "@#$Hello, World!!! 123"

// Remove ALL whitespace (spaces, tabs, newlines)
s.replaceAll("\\s", "");                     // "@#$Hello,World!!!123"
s.replaceAll("\\s+", "");                    // same result

// Remove multiple spaces (collapse to single space)
s.replaceAll("\\s+", " ").trim();            // "@#$Hello, World!!! 123"

Regex Quick Reference

PatternMeaning
[a-zA-Z0-9]Letters and digits
[^a-zA-Z0-9]NOT letters or digits (special chars)
\\sWhitespace (space, tab, newline)
\\dDigit (0-9)
\\wWord character (letter, digit, underscore)
.Any single character
+One or more
*Zero or more

Automation Testing Relevance

Java
// Clean currency text for numeric comparison
String priceText = "$1,299.00";
String cleanPrice = priceText.replaceAll("[^0-9.]", "");  // "1299.00"
double price = Double.parseDouble(cleanPrice);

// Validate that a field contains no special characters
String username = driver.findElement(By.id("username")).getAttribute("value");
String cleaned = username.replaceAll("[^a-zA-Z0-9_]", "");
assertEquals(username, cleaned, "Username contains invalid characters");

Follow AutomateQA