Ich möchte wissen, wie ich in JavaScript eine Erfassungsgruppe durch ihre Großbuchstaben ersetzen kann. Hier ist eine vereinfachte Version dessen, was ich bisher versucht habe und was nicht funktioniert:
> a="foobar"
'foobar'
> a.replace( /(f)/, "$1".toUpperCase() )
'foobar'
> a.replace( /(f)/, String.prototype.toUpperCase.apply("$1") )
'foobar'
Könnten Sie mir bitte erklären, was an diesem Code falsch ist?
1 Stimmen
@Erik entferne keine Komponente einer Frage. Ich möchte auch wissen, warum mein Code nicht funktioniert.
2 Stimmen
Evan, ich dachte, ich wäre respektvoll gegenüber deiner Frage. Ich habe nur Dinge entfernt, die unnötig schienen. Da du den Code angegeben hast, den du ausprobiert hast, und es offensichtlich nicht funktioniert hat, wussten die Leute implizit, dass du eine Erklärung brauchst, warum, ohne dass du es sagen musstest (und ungeschickt). Ich versuche nur zu helfen! :)
1 Stimmen
Evan, ist das besser? Ich will nicht nerven. Wenn du erneut zurückrollst, werde ich nicht nochmal bearbeiten, aber könntest du zumindest die Titel- und Tag-Änderungen beibehalten?
0 Stimmen
Technisch gesehen verwende ich überhaupt kein JavaScript, sondern v8 (ECMAScript). Aber ich nehme an, dass die meisten Leute, die danach suchen, nach JavaScript suchen, also ist das in Ordnung für mich.
1 Stimmen
Fühlen Sie sich frei, Tags hinzuzufügen, wenn Sie denken, dass sie dazu gehören.
0 Stimmen
@EvenCarrol und für die Nachwelt: Es ist völlig in Ordnung, die Implementierung von ECMAscript von v8 als "JavaScript" zu bezeichnen, auch wenn es technisch gesehen ein falscher Name ist. Die Unterscheidung für jeden Fall, in dem es nicht um die Implementierung von Netscape oder Mozilla ging, würde einfach zu viel Zeit in Anspruch nehmen und es gibt wirklich keine elegante Möglichkeit, "ECMAscript" mit weniger als 5 klobigen Silben auszusprechen. Nicht zu vergessen ist, dass man technisch gesehen die ECMA-Spezifikation unterstützen kann, aber trotzdem etwas ziemlich anderes als JavaScript oder JScript oder was auch immer Chrome/V8 ihre Version nennt, haben kann, daher wird zumindest behauptet, dass wir in derselben ECMAscript-Familie sind.
0 Stimmen
Ich bin anderer Meinung. Es ist verwirrend und es weiter zuzulassen, macht die Sache noch verwirrender. Javascript macht alle Arten von coolen Sachen, die Ecmascript nicht macht. Ja-Va, Eck-Ma -- bin mir nicht sicher, wo der Unterschied bei den Silben liegt. Die beiden zu verwechseln, ist so ähnlich wie C zu bezeichnen, als sei es eine Untermenge von C++, C++.
1 Stimmen
Ein verwirrender Aspekt dieser Frage für mich war, dass die Frage ein Sonderfall ist, bei dem die Erfassungsgruppe auch der gesamte übereinstimmende Ausdruck ist. Ist dies nicht der Fall, ergeben sich unerwartete Ergebnisse, da sie das gesamte Muster behandeln.