Olá pessoal,
Estou fazendo um trabalho da faculdade, onde que tenho que fazer um processador de textos do tipo Markdown. Só que em algumas formatações estou tento problemas, por exemplo:
“Aqui já estamos em um novo parágrafo. O
trecho entre asteriscos será enfatizado
em itálico, e o trecho entre asteriscos
duplos será enfatizado em negrito. É possível.”
Deve retornar isso:
Text{content="Aqui já estamos em um novo parágrafo. O ", breakLine=true}
Text{content=“trecho “, breakLine=false}
Text{content=“entre asteriscos”, style=‘I’, breakLine=false}
Text{content=” será enfatizado”, breakLine=true}
Text{content=“em itálico, e o trecho “, breakLine=false}
Text{content=“entre asteriscos”, style=‘B’, breakLine=true}
Text{content=“duplos”, style=‘B’, breakLine=false}
Text{content=” será enfatizado em negrito. É possível”, breakLine=true}
Minha dúvida é o seguinte eu fiz dois FOR para eu conseguir separar os trechos que estão com * *, mas sempre dá alguma problema, meu código que usei:
if (c == '*') {
char aux = line.charAt(i + 1);
if (c == '*' && aux == '*') {
for (int j = i+1 ; j < line.length(); j++) {
int tl = line.length();
char aux1 = line.charAt(j);
char aux2 = line.charAt(j + 1);
if (aux1 == '*' && aux2 == '*') {
Text tx = new Text();
tx.setContent(line.substring(i + 2, j));
tx.setStyle("B");
tx.setBreakLine(true);//arrumar
t.insert(tx, po++);
i = j;
break;
}
}
} else {
for (int j = i +1; j < line.length(); j++) {
int t6 = line.length();
char aux3 = line.charAt(j);
if (aux3 == '*') {
Text tx = new Text();
tx.setContent(line.substring(i + 1, j));
tx.setStyle("I");
tx.setBreakLine(true);// arrumar
t.insert(tx, po++);
i = j;
break;
}
}
}
}
Há e mais uma duvida, como consigo identificar uma quebra de linha?
Alguém poderia me dar uma ajuda?