In Java können Zeichenketten z.B. in Form von Strings bearbeitet werden. Die Klasse "String" bietet einige Methoden zum Erzeugen, Vergleichen, Extrahieren usw. an. Bei Stringmanipulationen wird nicht der Inhalt von Strings verändert, sondern es werden neue String-Objekte erzeugt. Umfangreiche Stringbearbeitungen kosten somit viel Speicher und viel Performance! Die Klasse StringBuffer repräsentiert im Gegensatz dazu dynamische, beliebig änderbare Zeichenketten und das Arbeiten mit StringBuffern ist wesentlich performanter.

Strings anlegen und zusammensetzen

  public class Test {
    static public void main (String args[]) {
      String s1="test";        // String anlegen
      System.out.println(s1);  // Ausgabe: test
      String s2="123";
      String s3=s1+s2;         // String zusammensetzen
      System.out.println(s3);  // Ausgabe: test123
      System.out.println("hallo "+"Welt"); // Ausgabe: hallo Welt
    }
  }

Stringlänge und alle Zeichen groß

  public class Test {
    static public void main (String args[]) {
      String s1="test";        // String anlegen
      System.out.println(s1);  // Ausgabe: test
      System.out.println(s1.length());       // Ausgabe: 4
      System.out.println(s1.toUpperCase());  // Ausgabe: TEST
    }
  }

Werte in Strings wandeln mit valueOf()

  public class Test {
    static public void main (String args[]) {
      String test="";
      test=String.valueOf('x');
      System.out.println(test);  // Ausgabe: x
      test=String.valueOf(42);
      System.out.println(test);  // Ausgabe: 42
    }
  }

Werte/Integer in Strings wandeln per Integer.toString()

  public class Test {
    static public void main (String args[]) {
      int i=10;
      String test="";
      test=""+i;                 // simple/harte Methode
      System.out.println(test);
      test=Integer.toString(i);  // besser
      System.out.println(test);
    }
  }

Teilstrings extrahieren per substring()

  public class Test {
    static public void main (String args[]) {
      String test="Dies ist ein Test";
      String test1=test.substring(9);   // Teilstring von Zeichen 9 bis Rest
      String test2=test.substring(0,4); // Teilstring von Anfang bis Zeichen 4
      System.out.println(test1);        // Ausgabe: ein Test
      System.out.println(test2);        // Ausgabe: Dies
    }
  }

Zeichen extrahieren per charAt() und toCharArray()

  public class Test {
    static public void main (String args[]) {
      String test="Dies ist ein Test";
      System.out.println(test.charAt(7)); // Ausgabe: t
      char[] c = test.toCharArray();
      System.out.print(c[0]);             // Ausgabe: D
      System.out.print(c[1]);             // Ausgabe: i
      System.out.print(c[2]);             // Ausgabe: e
      char letztesZeichen = test.charAt( test.length()-1 );
      System.out.println(letztesZeichen);
    }
  }

Strings vergleichen per equals() und equalsIgnoreCase()

  public class Test {
    static public void main (String args[]) {
      String s="test";
      System.out.println(s.equals("test"));           // Ausgabe: true
      System.out.println(s.equals("TEST"));           // Ausgabe: false
      System.out.println(s.equalsIgnoreCase("TEST")); // Ausgabe: true
    }
  }

Zeichen/Teilstrings suchen per indexOf() oder lastIndexOf()

  public class Test {
    static public void main (String args[]) {
      String s="121";
      System.out.println(s.indexOf('1'));     // Ausgabe:  0 (gefunden an Position 0)
      System.out.println(s.indexOf('2'));     // Ausgabe:  1 (gefunden an Position 1)
      System.out.println(s.indexOf('3'));     // Ausgabe: -1 (nicht gefunden)
      System.out.println(s.lastIndexOf('1')); // Ausgabe:  2
      System.out.println(s.indexOf("12"));    // Ausgabe:  0 (gefunden ab Position 0)
      System.out.println(s.indexOf("23"));    // Ausgabe: -1
      if(s.indexOf("121")>=0) {
        System.out.println("121 gefunden");
      }
    }
  }

Zeichen ersetzen/entfernen per replace() oder trim()

  public class Test {
    static public void main (String args[]) {
      String s=" 121 ";
      System.out.println(s.replace('2','3')); // Ausgabe:  131
      // Das Ersetzen von Teilstrings durch Teilstrings ist nicht möglich
      System.out.println(s.trim());           // Ausgabe: 121
    }
  }

String in Integer wandeln per Integer.parseInt()

  public class Test {
    static public void main (String args[]) {
      int i = 0;
      String s ="10";
      i=Integer.parseInt(s);
      System.out.println(i);
    }
  }

Einen String auf 15 Zeichen begrenzen, bzw. mit Punkten auf 15 Zeichen auffüllen


  public class Test {
    static public void main (String args[]) {
      String s="0123456789";
      char[] sChar = "...............".toCharArray(); // char-Array anlegen mit 15 Punkten
      if (s.length()<=sChar.length) {
        for(int i=0;i<s.length();i++) {
          sChar[i]=s.charAt(i);                       // Char-Array mit Zeichen aus Value befüllen
        }
      }
      else {
        for(int i=0;i<sChar.length;i++) {
          sChar[i]=s.charAt(i);                       // Char-Array mit 15 Zeichen aus Value befüllen
        }
      }
      String sNeu = new String(sChar);                // Aus dem Array einen String bilden
      System.out.println(sNeu);
    }
  }