Seite 1 von 1

string r""" Escapen """ wie in C++ ?

Verfasst: Mittwoch 28. Juli 2010, 14:02
von huzzel
Hallo in Python kann man ja ganz einfach Strings mit """ escapen.

Code: Alles auswählen

results = current_frame.evaluateJavaScript(
            r"""
            var results = "";
            $("h3[class=r]").each(function(i) {
                results += $(this).text() + "\n";
            });
            results;
            """
)
Wie sieht das Escapen von so einem mehrzeiligen String denn in QT mit C++ aus ?

Re: string r""" Escapen """ wie in C++ ?

Verfasst: Mittwoch 28. Juli 2010, 14:21
von BlackJack
Sowas gibt's in C++ nicht. Da würde ich das so machen:

Code: Alles auswählen

results = current_frame.evaluateJavaScript(
    "var results = \"\";\n"
    "$(\"h3[class=r]\").each(function(i) {\n"
    "    results += $(this).text() + \"\\n\";\n"
    "});\n"
    "results;\n"
);

Re: string r""" Escapen """ wie in C++ ?

Verfasst: Mittwoch 28. Juli 2010, 14:42
von lunar
Speziell in Qt würde ich das vielleicht sogar in eine eigene Javascript-Datei schreiben, diese als Resource hinzufügen, und dann zur Laufzeit über "QFile" wieder laden.

Re: string r""" Escapen """ wie in C++ ?

Verfasst: Mittwoch 28. Juli 2010, 21:58
von sma
Wenn man den JQuery-Ausdruck (das ist doch JQuery, oder?) effizienter schreibt und wenn man " durch ' ersetzt, ergibt sich das Problem mit den Strings in C++ auch gar nicht mehr, denn man kann's einfach so schreiben:

Code: Alles auswählen

$('h3[class=r]').map(function(){ return $(this).text(); }).get().join('\n');
Stefan