Boa tarde pessoas,
Tenho um código que lê um arquivo de texto.
O arquivo tem esse formato: número; número; número
Ex:
4;10;-12
Eu leio cada linha desse arquivo usando o método readLine da classe BufferedReader.
Preciso de algo que separe essa string em três partes:
str1 = 4
str2 = 10
str3 = -12
Li o manual da classe String, mas não encontrei nenhum método que me atenda.
Muito Obrigado!!!
Só pra complicar: :lol:
package regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Teste {
public static void main(String[] args) {
new Teste().rodar();
}
private void rodar()
{
Pattern pattern = Pattern.compile("([^;])+");
// ou
//Pattern pattern = Pattern.compile("([-\d])+");
String valor = "4;10;-12";
Matcher matcher = pattern.matcher(valor);
while(matcher.find())
{
System.out.println(valor.substring(matcher.start(), matcher.end()));
}
}
}
Pessoas, muito obrigado usando split o retorno é um array então meu códico ficou mais ou menos assim:
String str;
String[] param=new String[3];
while ((str = in.readLine()) != null) {
//System.out.println("Linha: " + str);
param = str.split(";");
for(int x = 0; x < param.length; x++)
{
System.out.println("Linha: " + param[x]);
}
}
O código do Vanzella eu ainda não testei, mas irei testar.
Muito Obrigado!!!
[code]String str;
String[] param;
while ((str = in.readLine()) != null) {
param = str.split(’;’);
for (String s : param)
System.out.println(s);
}[/code]
Se o que você quer é apenas remover o ‘;’, é mais fácil usar replaceAll() e trocá-los por vazio.