ivandasilva
Caso o delimitador seja sempre |#+| faça um substring em cada linha…
Exemplo
String line = "|#+|MY NAME IS|#+|";
StringBuilder s = new StringBuilder();
s.append(line.substring(4, line.length() - 4));
bezier_curve
Você usou o “split” com parâmetros errados.
É que split aceita como parâmetro uma expressão regular, e tanto “|” quanto “+” são caracteres especiais em expressões regulares.
Uma forma de resolver isso é “neutralizar” a expressão regular, usando Pattern.quote (que transforma a expressão regular em uma constante string).
Outra forma é você neutralizar os caracteres especiais da expressão regular com “\”.
O delimitador deve ser codificado como:
String s = "2|#+|ALUMINIO|#+|";
String[] dados = s.split (Pattern.quote ("|#+|")); // observe o uso de Pattern.quote
Se você for usar o Java 1.4 (onde Pattern.quote não está disponível), você tem de usar:
String s = "2|#+|ALUMINIO|#+|";
String[] dados = s.split ("\|#\+\|")); // o "\" efetua o "escape" do caracter especial "|" e do caracter especial "+".
pedroroxd
Pode ser um replace tb…
String novo= velho.replace("|#+|", "");
Lindomar.Ferreira
Acrescentei o indexOf para levar em consideração (eliminar) os números da esquerda que variam de 1 a … do primeiro delimitador.
String line = "1|#+|MY NAME IS|#+|";
StringBuilder s = new StringBuilder();
s.append(line.substring(line.indexOf("|#+|") + 4, line.length() - 4));
Obrigado pela ajuda Galera!