Die Antwort von Jeremie B ist richtig. Ich denke jedoch, dass Sie immer noch Ausnahmen vom Kopieren-und-Einfügen-Problem treffen können.
den Code unten vor: der zweite der erste Test erfolgreich war, tat es nicht:
Wie Sie unterschiedliche Ergebnisse sehen können, kann der „gleiche“ Code erzeugen. Wenn ich den Code manuell erneut eintippe, tritt das Problem nicht auf.
Vermutlich tritt dieser Fehler auf, wenn Sie den Code von außerhalb der Quelle kopieren, kann ein Zeichenkonvertierungsproblem unter der Haube passieren, die Ihren Charakter "oder" immer noch gleich aussehen, ist aber inhärent ein anderes Symbol. Deshalb ist der Compiler . klagt
-Code in Text für Ihre Referenz (nicht sicher Problem kann durch Kopieren Sie diesen Text wiedergegeben werden, wie so die Post-Codierung standardisieren kann)
def str = "('ROLE_Failed,ROLE_USER')"
println str
def a = str.replace(',',"','")
println a
//-------------------------------------
def str2 = "('ROLE_Failed,ROLE_USER')"
println str2
def ab = str2.replace(',',"','")
println ab
EDIT nach Frage aktualisiert:
Der Code:
Ich habe versucht, was vorgeschlagen wird, ist unten meine Aussage: groovy ('authentication.principal.roles.roleName.join (" ") .replace (', ', „‘, ‚")‘)
Wenn ich es richtig sehen, gibt es einen leeren Raum rechts hinter dem Komma. So muss der Code geschrieben werden:
authentication.principal.roles.roleName.join(", ").replace(', ',"','")
Dieser Artikel bezieht sich nicht auf JasperReports Server.Es geht nur um groovige Erfahrung: 'Wie kann ich COMMA durch 'ersetzen,' –
@AlexK Ich bin ein Jasper-Typ und habe keine Ahnung von groovigen brauchen Eingaben bei der Lösung dieses Problems? – GeekExplorer