elevator: string nach einem Punkt durchsuchen

Hallo.
Blöde Frage, aber es interessiert mich mal:
Wie kann ich in Javascript einen String nach dem Punkt-Zeichen (.) durchsuchen? Ich möchte wissen, ob ein Punkt in dem String vorkommt. Habs so gemacht:
var find = string.search(/./);
Das funktioniert allerdings nicht.

P.S. Hab mich dann für die Variante var find = string.indexOf("."); entschieden, würds aber gern "richtig" machen :-)

Grüße...

  1. Tach,

    P.S. Hab mich dann für die Variante var find = string.indexOf("."); entschieden, würds aber gern "richtig" machen :-)

    das ist vermutlich schneller als eine RegExp.

    Wie kann ich in Javascript einen String nach dem Punkt-Zeichen (.) durchsuchen? Ich möchte wissen, ob ein Punkt in dem String vorkommt. Habs so gemacht:
    var find = string.search(/./);
    Das funktioniert allerdings nicht.

    Der Punkt ist ein Sonderzeichen in Regulären Ausdrücken, also muß er maskiert werden.

    mfg
    Woodfighter

  2. @@elevator:

    nuqneH

    var find = string.search(/./);
    Das funktioniert allerdings nicht.

    '.' hat in regulären Ausdrücken die Bedeutung, für ein beliebiges Zeichen zu stehen. Willst du das Zeichen '.', musst du escapen.

    P.S. Hab mich dann für die Variante var find = string.indexOf("."); entschieden, würds aber gern "richtig" machen

    Das ist die richtige Variante! Verwende wegen schnellerer Performance Stringfunktionen, wannimmer es geht; reguläre Ausdrücke nur dann, wenn es wirklich sein muss.

    ZITAT1418

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
    1. Wie erkenne ich denn "Stringfunktionen"? Und was ist der unterschied zu regulären Ausdrücken?

      1. Hi,

        Wie erkenne ich denn "Stringfunktionen"?

        Funktionen, die auf Strings basieren. Da der Begriff "Stringfunktion" eigentlich "Stringmethode" heißen müsste, darf er intuitiv verstanden werden und sollte damit eigentlich keine Probleme bereiten.

        Und was ist der unterschied zu regulären Ausdrücken?

        Reguläre Ausdrücke sind immer teuer, weil auch mit der kleinsten und einfachsten RegExp _viele_ Dinge passieren müssen, um sie auf einen String anwenden zu können. Selbst ein optimales System muss bei der RegExp "/a/" den Code erst parsen, um dann (innerhalb einer Vielzahl von Möglichkeiten, die ggf. abgegrast werden müssen) festzustellen, dass der Code identisch ist mit string.indexOf('a')>=0, welches einen optimierten Suchalgorithmus besitzt. Es rechnet sich also dumm und dämlich, um anschließend einen Code auszuführen, den Du gleich hättest verwenden können.

        Diese Rechenschritte kannst Du sparen, indem Du RegExp ausschließlich dann einsetzt, wenn sie unumgänglich sind.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. allet kla, danke

  3. danke, da weiß ich bescheid =)