Approach 1: Using Regular Expression.
Below regular expressions are
used to replace multiple spaces with single space.
str.replaceAll(" +",
" ");
str.replaceAll("\\s{2,}",
" ");
str.replaceAll("\\s+",
" ");
Approach 2: Programmatically find subsequent spaces.
private static String replaceMultipleSpaces(String str) {
StringBuilder builder = new StringBuilder();
if (str == null || str.isEmpty()) {
return str;
}
char[] charArray = str.toCharArray();
boolean flag = false;
for (char ch : charArray) {
if (ch == ' ') {
if (flag == false) {
flag = true;
builder.append(ch);
}
} else {
builder.append(ch);
flag = false;
}
}
return builder.toString();
}
Find the below working
application.
App.java
package com.sample.app;
public class App {
private static String replaceMultipleSpaces(String str) {
StringBuilder builder = new StringBuilder();
if (str == null || str.isEmpty()) {
return str;
}
char[] charArray = str.toCharArray();
boolean flag = false;
for (char ch : charArray) {
if (ch == ' ') {
if (flag == false) {
flag = true;
builder.append(ch);
}
} else {
builder.append(ch);
flag = false;
}
}
return builder.toString();
}
public static void main(String args[]) {
String str = "Hello World How Are you?";
String replacedStr1 = str.replaceAll(" +", " ");
String replacedStr2 = str.replaceAll("\\s{2,}", " ");
String replacedStr3 = str.replaceAll("\\s+", " ");
String replacedStr4 = replaceMultipleSpaces(str);
System.out.println("Original String : '" + str + "'");
System.out.println("String after replacing multiple spaces with single space : '" + replacedStr1 + "'");
System.out.println("String after replacing multiple spaces with single space : '" + replacedStr2 + "'");
System.out.println("String after replacing multiple spaces with single space : '" + replacedStr3 + "'");
System.out.println("String after replacing multiple spaces with single space : '" + replacedStr4 + "'");
System.out.println("replacedStr1.equals(replacedStr2) : " + replacedStr1.equals(replacedStr2));
System.out.println("replacedStr1.equals(replacedStr3) : " + replacedStr1.equals(replacedStr3));
System.out.println("replacedStr1.equals(replacedStr4) : " + replacedStr1.equals(replacedStr4));
}
}
You may
like
No comments:
Post a Comment