[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2013
    Beiträge
    4

    Unnötige Leerzeischen werden übernommen

    Hallo

    Habe folgendes Problem. Frage über Java Daten ab. In der Datenbank (i515) ist für die Zelle eine Länge von 255 zeichen vorgesehen.
    Der Inhalt der Zelle ist ca. 5-10 zeichen lang.

    Mein Problem ist nun, dass ich immer ein 255 lagen String bekomme. Und zwar die 5-10 Zeichen und zusätzlich lauter leerzeichen.

    Kann mir da mal wer einen Tipp geben wie ich dieses Problem lösen kann

    Ich weiß leider nicht einmal wie ich dieses Problem in Google und co. suchen soll.

    Danke im voraus

    lg

    Steffi

  2. #2
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo,

    wie wäre es mit String.trim() ?

    Gruß,
    KM

  3. #3
    Registriert seit
    Dec 2013
    Beiträge
    4
    Zitat Zitat von KM Beitrag anzeigen
    Hallo,

    wie wäre es mit String.trim() ?

    Gruß,
    KM
    Hallo KM

    Danke für Deine Hilfe.

    Dass habe ich mir auch schon Überlegt. Aber dann nimmt er mir ja alle Lehrzeichen weg, oder? Und in den 5-10 Zeichen können ebenfalls Lehrzeichen enthalten sein, die erhalten bleichen sollen.

    lg

    Steffi

  4. #4
    Registriert seit
    Dec 2013
    Beiträge
    4
    Hallo KM

    Habe mir nochmals die trim Funktion durchgelesen. Du hast ja sowas von recht.

    http://gailer-net.de/tutorials/java/...9/ch29_14.html

    Ich bin immer davon ausgegangen, dass die Datenbank mir zuviele Daten sendet.

    Vielen vielen Dank

    lg

    Steffi

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Allerdings entfernt diese auch die Leerzeichen am Anfang!
    Hier 2 Methoden zum Enfernen am Anfang oder am Ende, falls trim() zu viel macht:

    http://www.xinotes.org/notes/note/1418/
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Jun 2012
    Beiträge
    25
    oder die normale Trim Methode abgeändert:

    Code:
        /** Links trim */
        public static String trimLeft(final String s){
            return trim(s, true);
        }
        
        /** Rechts trim */
        public static String trimRight(final String s){
            return trim(s, false);
        }
        
        private static String trim(final String s, boolean left){
            char[] value = s.toCharArray();
            int len = value.length;
            int st = 0;
            char[] val = value;
            if (left){
                while ((st < len) && (val[st] <= ' ')) {
                    st++;
                }
            }else{
                while ((st < len) && (val[len - 1] <= ' ')) {
                    len--;
                }
            }
            return ((st > 0) || (len < value.length)) ? s.substring(st, len) : s;
        }

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Da ist die ReplaceAll-Methode wesentlich effektiver.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    @Baldur: was erst noch zu zeigen wäre, ich setze mal ein Krügerl auf die Schleife, Regenechsen sind nicht die schnellsten!

    Ansonsten plädiere ich für:
    http://docs.spring.io/spring/docs/3....va.lang.String, char)

    das ist eine bewährte Komponente aus einem Hunderttausendfach bewährten Framework.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #9
    Registriert seit
    Dec 2013
    Beiträge
    4
    Hallo Ihr Lieben

    Bei meinem Programm funktioniert jetzt alles einwandfrei. Hätte nur gerne gewusst wieso wer die Lehrzeichen den variablen hinzufügt. Das dürfte ja eigebltich nicht passieren, oder bin ich da zu naiv???

    lg und schöne Feiertage

    Steffi

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Wenn in der Datenbank das Feld als CHAR definiert ist, enthält es immer die Leerzeichen da es eine feste Länge hat.
    Nur VARCHAR speichert auch die Länge.
    Dann kommt es darauf an, wie die Programme die Informationen speichern.
    Denn auch Varchar kann incl. Leerzeichen gepeichert werden, automatisch wird da nichts entfernt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Daten werden vom ODBC abgeschnitten
    By synus in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 08-04-03, 14:12
  2. Unsere Software muß mehrsprachig werden !
    By W.Steiner in forum Archiv NEWSblibs
    Antworten: 1
    Letzter Beitrag: 13-11-02, 11:12
  3. Wo werden abgelehnte Loginversuche gespeichert?
    By lefthander in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 06-08-02, 15:53
  4. Wer möchte Moderator werden?
    By Burgy Zapp in forum NEWSboard Drucker
    Antworten: 0
    Letzter Beitrag: 09-07-02, 00:44
  5. Antworten: 3
    Letzter Beitrag: 17-11-01, 11:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •