Separar string

Boas,
preciso de uma ajuda com uma duvida,

como faço para remover parte de uma string sendo que o os tamanhos sejam variados

Exemplo das string :

// os comentarios são sempre entre as barras [ ] ,  é assim que eu recebo as Strings.
1000.00  [pagamento de salarios]   
500.00 [pagamento de salarios]   
12300.00 [pagamento de retroactivos financeiro]   

gostaria de separar o valor da descrição, aonde pudesse obter um System.out.println assim :

1000.00          Razão : pagamento de salarios
500.00            Razão : pagamento de salarios
12300.00         Razão : pagamento de retroactivos financeiro

Obrigado desde ja !

Vou te dar as dicas e voce quem se vira ai.

  • Le a linha,
  • Procura a posição do primeiro “[” com o comando indexOf
  • Separa sua String em duas partes usando o metodo substring, sendo que em uma parte voce tem o valor e outro os comentarios.
  • Use trim para tirar os espaços no fim e no começo

espero ter ajudado

Voce pode postar codigo ?
estou sem ide agora, estou a trabalhar no dedo.

Agradecia ajuda !

[quote=LuisClaudio]Voce pode postar codigo ?
estou sem ide agora, estou a trabalhar no dedo.

Agradecia ajuda ! [/quote]

Vc pode tb usar split para separar as strings, utilizando como parâmetro o espaço q há entre o valor e o comentário. Depois usar substring para eliminar os [] que cercam o comentário…

Um exemplo de utilização de split:

public class TesteSplit {

	public static void main(String[] args) {
		
		String teste = "TESTE COM SPLIT";
		
		String[] teste2 = teste.split(" ");
		
		for(String t : teste2) {
			System.out.println(t);
		}
		

	}

}

O retorno seria algo como:

TESTE
COM
SPLIT

Vê aí se te ajuda…

Eu prefiro expressões regulares. Acho mais robusto:

[code]public class RegexMatcher {

public static void main(String[] args) {
	Pattern p = Pattern.compile("(.+)\[(.+)\]");
	Matcher m = p.matcher("1000.00  [pagamento de salarios]");
	if(m.matches())
		System.out.println(m.group(1)+ " Razão: " + m.group(2));
}

}
[/code]