2017-03-29 6 views
0

Je souhaite transformer une chaîne camel comme "RoomAvailability" en une chaîne "dash case" comme "room-availability" Velocity respectivement dans un fichier IntelliJ Modèle qui utilise Apache Velocity.Transformer camel cased Chaîne pour étui ou étui de tirette dans Velocity ou IntelliJ File Template

J'ai trouvé des douzaines de messages demandant de cas de serpent à chameau qui n'est pas un problème avec e. g. #set($name = ${StringUtils.removeAndHump("room_availability")}) ce qui conduit à RoomAvailability.

Une autre possibilité serait de transformer cas de chameau cas de serpent, puis remplacer « _ » avec « - » via #set($replaced = ${snake_cased_name("_", "-")}) mais je manque aussi une possibilité de transformer une chaîne en serpent.

Y a-t-il des options pour faire quelque chose comme ça dans un Template de fichier IntelliJ respectivement Velocity?

Répondre

2

J'ai encore trouvé une solution. Pas tout à fait aussi élégant qu'une fonction prête à l'emploi, mais cependant, cela fonctionne.

#set($regex = "([a-z])([A-Z]+)") 
#set($replacement = "$1-$2") 
#set($toDash = $NAME.replaceAll($regex, $replacement).toLowerCase()) 
... 
${toDash} 

Crédits vont à Elena Pogorelova de JetBrains pour son poste à enter link description here