3 Stimmen

Wie man Rückverweise in gsub-Ersatzstrings entschlüsselt

Gibt es eine Alternative zu gsub, die justs ersetzt eine Zeichenfolge Vorkommen mit einem anderen?

In der Dokumentation heißt es: "Wenn replacement ein String ist, wird er durch den übereinstimmenden Text ersetzt. Er kann Rückverweise auf die Capture-Gruppen des Musters enthalten, und zwar in der Form \d , wobei d eine Gruppennummer ist, oder \k , wobei n ein Gruppenname ist."

Ich will diese Funktionalität nicht

vereinfachtes Beispiel:

"abc".gsub("b", "\\7") -> "ac"

und ich möchte "a\7c" ..

Das Problem ist, dass die Ersetzungszeichenfolge vom Benutzer verlangt wird (eigentlich ist es ein Pfad, der Folgendes enthält "xxx\7.0\yyy" ), wenn es sich einfach um eine feste Zeichenfolge handelt, könnte ich sie selbst entschlüsseln.

Ich weiß, dass das funktioniert: "abc".gsub("b") { |x| "\\\7" } aber Ruby so eine beatifull Sprache zu lernen, bis jetzt ich glaube, es sollte eine einfache Alternative sein, die ich in den Docs übersehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X