Ich habe diese Saite:erste Zeichen Klein und Raum unterstreichen mit regex
Fuel surcharge
, die ich drehen möchte in
fuel_surcharge
regex. Meine passende Regex sieht aus wie dieses
\b([A-Z])|(\s)
und es gibt mir die beiden Spiele die ich brauche.
Dann versuche ich mit diesem ersetzen regex
\L\1_\2
Mit der Logik, die das erste Spiel geändert werden soll, Fall und das zweite Spiel zu senken soll mit _
Aber dem Ergebnis, das ich ersetzt werden ‚m gegeben ist
f_uel_ surcharge
ich, wie ich aussehen Ich kann das zweite Match nicht isolieren. Muss ich die _
im Ersetzenregex einschließen?
Here ist ein Link zu der Regex ich versuchte regex101.com
. Im Moment ist die Regex pcre
aber ich mag es möglicherweise in Java
verwenden.
Wie wäre es nur 's.toLowerCase(). Ersetzen ('', '_')'? Oder wenn das erste Zeichen nur in Kleinbuchstaben geschrieben werden soll: 'sString (0, 1) .toLowercase() + sstring (1) .replace ('', '_')'? –
@ JBNizet Danke. Ich verwende deine Lösung, wenn ich sie in Java implementiere. Jetzt bin ich ein bisschen neugierig geworden, wie man es mit Regex löst. – g3blv
'\ b ([A-Z]) ([a-z] *) (\ s)' to '\ L \ 1 \ 2_ \ 3' –