Handling Whitespace
Whitespace Manipulation Techniques
graph TD
A[Whitespace Handling] --> B[Removal]
A --> C[Normalization]
A --> D[Replacement]
A --> E[Validation]
Common Whitespace Handling Methods
Method |
Purpose |
Example |
trim() |
Remove leading/trailing whitespace |
" text " โ "text" |
replaceAll() |
Replace whitespace |
"hello world" โ "helloworld" |
split() |
Split by whitespace |
"a b c" โ ["a", "b", "c"] |
1. Removing Whitespace
public class WhitespaceRemoval {
public static void main(String[] args) {
// Trim leading and trailing whitespace
String text1 = " LabEx Java Tutorial ";
System.out.println(text1.trim());
// Remove all whitespace
String text2 = "Hello World Java";
System.out.println(text2.replaceAll("\\s", ""));
}
}
2. Whitespace Normalization
public class WhitespaceNormalization {
public static String normalizeWhitespace(String input) {
// Replace multiple whitespaces with single space
return input.replaceAll("\\s+", " ").trim();
}
public static void main(String[] args) {
String messyText = " LabEx Java Programming ";
System.out.println(normalizeWhitespace(messyText));
}
}
3. Advanced Whitespace Handling
public class AdvancedWhitespaceHandling {
public static String processInput(String input) {
if (input == null) return "";
return input.lines()
.map(String::trim)
.filter(line -> !line.isEmpty())
.collect(Collectors.joining("\n"));
}
public static void main(String[] args) {
String multilineText = "\n Hello \n\n World \n";
System.out.println(processInput(multilineText));
}
}
Whitespace Validation Strategies
graph LR
A[Input Validation] --> B{Contains Whitespace?}
B -->|Yes| C[Handle/Transform]
B -->|No| D[Accept Input]
public class WhitespaceValidation {
public static boolean isValidInput(String input) {
// Reject input with only whitespace
return input != null && !input.trim().isEmpty();
}
public static void main(String[] args) {
System.out.println(isValidInput(" ")); // false
System.out.println(isValidInput("LabEx")); // true
}
}
Best Practices
- Choose appropriate whitespace handling method
- Consider performance and readability
- Validate and normalize user inputs
- Use consistent whitespace management strategies
At LabEx, we emphasize the importance of robust string processing techniques in Java development.