Announcement

Collapse
No announcement yet.

String Ersetzung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • String Ersetzung

    Ich habe mir über den FileReader und den BufferedReader eine Textdatei eingelesen und auf ein StringBufferobjekt gelegt.
    Ich möchte nun in diesem String mehrere Strings durch andere ersetzen.

    Wie kann ich das realisieren?

    danke im voraus

  • #2
    StringBuffer.replace(int start, int end, String str

    Comment


    • #3
      Danke für den Tip, aber das ist nicht das was ich meinte!
      Ich habe es mittlerweile anders realisiert. Ich habe mir eine Methode geschrieben mit der ich einen String (z.B.: "-KDNUMMER-") in einer Textdatei suche, mir die entsprechenden Indexpositionen hole, und den String herauslösche und an selbiger Stelle einen neuen String einsetze

      Comment


      • #4
        @Stephan
        @all

        habe dasselbe Problem. In einem String sind mehrere Teilstrings durch eingaben in Texfeldern zu erstzen. Wie bekomme ich also die entsprechenden Indexpositionen der zu ersetzenden Strings. Die können in jedem String an einer anderen Stelle sitzen. Brauche Lösungsansatz!! Danke im Vorau

        Comment


        • #5
          Hi all,<br>
          hier eine kleine Routine, die vielleicht das Gewünschte tut.
          <code>
          /**
          * Replace all occurrences of 'pattern' by 'replacePattern' in string 'str'.
          */
          public static final String replaceString(String str, String pattern, String replacePattern) {
          int slen = str.length();
          int plen = pattern.length();
          int s = 0, e = 0;
          StringBuffer result = new StringBuffer(slen * 2);
          char[] chars = new char[slen];

          while ((e = str.indexOf(pattern, s)) >= 0) {
          str.getChars(s, e, chars, 0);
          result.append(chars, 0, e - s).append(replacePattern);
          s = e + plen;
          }
          str.getChars(s, slen, chars, 0);
          result.append(chars, 0, slen - s);
          return result.toString();
          }
          </code>
          Klau

          Comment


          • #6
            Sorry, hatte den pre vergessen.<br>
            Hier das Ganze nochmal formatiert:
            <p>
            <pre>
            <code>
            /**
            * Replace all occurrences of 'pattern' by 'replacePattern' in string 'str'.
            */
            public static final String replaceString(String str, String pattern, String replacePattern) {
            int slen = str.length();
            int plen = pattern.length();
            int s = 0, e = 0;
            StringBuffer result = new StringBuffer(slen * 2);
            char[] chars = new char[slen];

            while ((e = str.indexOf(pattern, s)) >= 0) {
            str.getChars(s, e, chars, 0);
            result.append(chars, 0, e - s).append(replacePattern);
            s = e + plen;
            }
            str.getChars(s, slen, chars, 0);
            result.append(chars, 0, slen - s);
            return result.toString();
            }
            </pre>
            </code>
            <p>
            Klau

            Comment

            Working...
            X