Removendo espaços em branco com regex

Para remover espaços em branco no Java, temos um método muito simples na classe String: o trim(). Em alguns casos a gente só quer remover espaços do começo da string ou do fim.

Infelizmente não há na classe String métodos igual ao ltrim e rtrim do PHP, mas felizmente é muito simples fazer o mesmo que essas funções fazem com o uso de expressões regulares (regex).

Para isso, criei dois métodos:

	public static String ltrim(String testeTrim) {
		return testeTrim.replaceAll("^\\s+", "");
	}
	public static String rtrim(String testeTrim) {
		return testeTrim.replaceAll("\\s+$", "");
	}

Eles possuem a mesma funcionalidade do ltrim e do rtrim, bastando simplesmente utilizar esses métodos na mesma classe ou criar uma classe utilitária e realizar um import static desses métodos (mais recomendado para reusabilidade).

		String testeTrim = "   123   ";
		System.out.println(rtrim(testeTrim));
		System.out.println(ltrim(testeTrim));

Para quem é mais curioso, o "\\s" significa espaço e o "+" significa um ou mais, ou seja, quando eu encontrar um ou mais espaços. O "^" significa começo da string e "$" fim da string, ou seja o ltrim significa substituir por nada ("") onde tiver um ou mais espaços no começo da string e o rtrim significa substituir por nada ("") onde tiver um ou mais espaços no fim da string. Para mais informações há um excelente tutorial de regex nesse site.

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6