Avatar billede ulriks Nybegynder
07. juli 2005 - 11:11 Der er 7 kommentarer og
1 løsning

Escaped char fra konsollen behandles som en alm string

Jeg vil gerne have mulighed for at sætte en seperator char fra konsollen, men den streng der bliver læst lader til at være \\n (eller hvam man nu vil).

Hvad er problemet? Hvordan løses det?

Her er et minimal eksemple - kør det og mit problem bliver åbenlyst :-D
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MiniExample {
  public static void main(String[] args) {
    BufferedReader inKeyBoard;
    inKeyBoard = new BufferedReader(new InputStreamReader(System.in));

    try{
      System.out.println("Skriv hund=\\n");

      String tmp = inKeyBoard.readLine();
      String _key = "";
      String _value = "";

      String[] sa = tmp.split("=");

      _key = sa[0].toLowerCase().trim();
      _value = sa[1];
   
      System.out.print(_key + _value + _key);
    }
    catch(Exception e){
      System.out.println(e);
    }   
  }
}

Mvh
Ulrik
Avatar billede arne_v Ekspert
07. juli 2005 - 11:36 #1
Det er ikke sådan at indsætte en ikke-printbar karakter.

Du kan forsøge med CTRL/A.

Ellers må du indtaste \n og lave en .replaceAll("\\n","\n") på den
indlæste streng
Avatar billede ulriks Nybegynder
07. juli 2005 - 11:52 #2
Jeg er ikke helt sikker på jeg forstår CTRL/A?

.replaceAll("\\n","\n") virker ikke (hvorfor forstår jeg ikke.

Dette virker:
if(_value.contains("\\n")){
  _value="\n";
}

men er der ikke en federe måde - det piner mine øjne at skulle tænke på alle escaped chars...
Avatar billede arne_v Ekspert
07. juli 2005 - 11:59 #3
prøv lige

.replaceAll("\\\\n","\n")
Avatar billede ulriks Nybegynder
07. juli 2005 - 12:04 #4
funger... piner stadig mine øjne - men tak!
Avatar billede ulriks Nybegynder
07. juli 2005 - 12:05 #5
skulle have været svar
Avatar billede arne_v Ekspert
07. juli 2005 - 14:23 #6
svar

x2 for Java
x2 for regex
x4 ialt
Avatar billede arne_v Ekspert
07. juli 2005 - 14:24 #7
CTRL/A burde sende en ascii kode 10 men om den ryger hele vejen igennem IO lagene ved jeg ikke
Avatar billede ulriks Nybegynder
07. juli 2005 - 14:36 #8
ok... jeg kan ikke få det til at virke. Derud over er java's måde nok også bedre og mere gennemskulig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester