John: Leer Zeichen mit JavaScript ermitteln?

Hallo zusammen,

1. Wie ermittle ich die Länge eines Strings mit JavaScript?
2. In einem String muss ich nach der leer Zeichen vor dem Hochkomma suchen, falls nicht vorhanden, dann eine leer Zeichen einfügen (siehe soll zustand)?
Die Länge des Strings ist dynamisch.

Ich habe es versucht mit charAt und indexOf()-1 aber ich krige es nicht hin!

Ist Zustand:   '"Nachricht wird auch ein neues Thema"+LAND'
Soll Zustand:  '"Nachricht wird auch ein neues Thema "+LAND'

Für die Hilfe bedanke ich mich sehr

  1. Lieber John,

    1. Wie ermittle ich die Länge eines Strings mit JavaScript?
    var myString = '"Nachricht wird auch ein neues Thema"+LAND';  
    alert(myString.length);
    
    1. In einem String muss ich nach der leer Zeichen vor dem Hochkomma suchen, falls nicht vorhanden, dann eine leer Zeichen einfügen (siehe soll zustand)?
      [...]
      Ist Zustand:   '"Nachricht wird auch ein neues Thema"+LAND'
      Soll Zustand:  '"Nachricht wird auch ein neues Thema "+LAND'

    In Deinem Beispiel sehe ich keine weiteren Vorkommen der doppelten Anführungszeichen, sodass man var position = myString.[ref:self812;javascript/objekte/string.htm#last_index_of@title=lastIndexOf('"')] verwenden könnte, um die Position des Hochkommas zu ermitteln.

    Mit der ermittelten Position könntest Du dann mit myString.[ref:self812;javascript/objekte/string.htm#char_at@title=charAt(position)] prüfen, ob es sich dort um ein Leerzeichen handelt.

    Falls dort kein Leerzeichen steht, kannst Du mittels

    var myNewString = myString.[ref:self812;javascript/objekte/string.htm#substring@title=substring(0, position-1)]  
        + " "  
        + myString.substring(position, myString.length);
    

    den String an dieser Stelle um Dein Leerzeichen erweitern.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. Mahlzeit,

    1. Wie ermittle ich die Länge eines Strings mit JavaScript?

    Indem Du die http://de.selfhtml.org/javascript/objekte/string.htm#length@title=length-Eigenschaft des entsprechenden String-Objektes ausliest.

    Ist Zustand:   '"Nachricht wird auch ein neues Thema"+LAND'
    Soll Zustand:  '"Nachricht wird auch ein neues Thema "+LAND'

    Ist das erste Zeichen IMMER ein Anführungszeichen(")?

    Kommt nur EIN weiteres Anführungszeichen (") vor?

    Wenn Du beide Fragen mit "ja" beantworten kannst, könnte folgender Code hilfreich sein:

    foo = foo.replace(/(\S+)"/gi, '$1 "');

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hallo EKKi!

      foo = foo.replace(/(\S+)"/gi, '$1 "');

      Die Modifizierer »g« und »i« sind überflüssig.

      Der g-Modifizierer steht übrigens auch im Widerspruch, zu deinen Annahmen, ...

      Ist das erste Zeichen IMMER ein Anführungszeichen(")?
      Kommt nur EIN weiteres Anführungszeichen (") vor?

      ... denn diese besagen ja, dass es höchstens einen Treffer geben kann.

      Gruß Uwe

  3. Hallo EKKI,
    Hallo Felix,

    vielen herzlichen Dank für die Hilfe.

    Grüßle
    John