Boa tarde!
No unix, ao abrir um arquivo, é exibido ^M no início de cada linha.
Preciso fazer um processamento neste arquivo e preciso tirar esse Ctrl M.
Li cada linha deste arquivo e, em cada linha tentei fazer deste modo abaixo, mas não deu certo.
não pode dar o replace pelo ^M mesmo?
ou precisa ser dinâmico?
E
entanglement
O line.separator é “\n” em Unix e “\r\n” em Windows. O seu problema é que você tem dados gerados em uma aplicação Windows, e você precisa só remover os ‘\r’. No seu caso, você usaria:
linha=linha.replace("\r","");
Cuidado - o método “replace” não modifica a string mas simplesmente retorna a string processada. Muita gente “quebra” a cara porque acha que replace muda a string, o que não é verdade. Strings são imutáveis (mas as variáveis do tipo String não são imutáveis).
D
danilocsf
Testei isso tudo, e no unix ta quebrando a linha em várias depois de processar, ja no Windows sai tudo certo.
Não sei o que pode ser.
Sim, apesar de não ter postado anteriormente, estou atribuindo o resultado do replace a variavel.
Bom até o momento não sei o que pode ser o problema, talvez não tenha nada a ver com o CTRL M.
Obrigado pela ajuda de todos.