Post teilen


Delicious Digg Google+

3 Comments

  1. Vielen Dank!

    Die elegante Version funktioniert so noch besser:

    public String formatText(String strGivenText)
    {
    StringBuffer sbFormattedText = new StringBuffer(strGivenText);
    boolean found = false;
    for(int i=0; i<sbFormattedText.length(); i++)
    {
    found = false;
    if(sbFormattedText.charAt(i) == '\n')
    {sbFormattedText.deleteCharAt(i); found = true;}
    if(sbFormattedText.charAt(i) == '\r')
    {sbFormattedText.deleteCharAt(i); found = true;}
    if(sbFormattedText.charAt(i) == '\t')
    {sbFormattedText.deleteCharAt(i); found = true;}
    if(found) i –;
    }
    return sbFormattedText.toString();
    }

    ohne die Zurücksetzung von i werden nämlich keine aufeinanderfolgenden Zeilenumbrüche detektiert.

  2. Hallo !

    Leider funktioniert diese Lösung nicht immer. Falls wir gleich am Anfang ein Zeilenumbruch haben, wird i = -1, was zu einem Fehler führt.

    Mein Vorschlag wäre :

    StringBuffer text = new StringBuffer(fromValue);

    int i=0;
    boolean addI = true;
    while (i < text.length()) {

    if (text.charAt(i) == '\n') {
    text.deleteCharAt(i);
    addI = false;

    }

    if (text.charAt(i) == '\r') {
    text.deleteCharAt(i);
    addI = false;

    }

    if (text.charAt(i) == '\t') {
    text.deleteCharAt(i);
    addI = false;

    }

    if (addI) {
    i++;
    }

    addI = true;
    }

    return text.toString();

Kommentar abgeben

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Microsoft Certified Professional Logo
 

Werbung