Je souhaite convertir n'importe quelle chaîne de caractères en cas de chameau ou de titre modifié à l'aide de bibliothèques prédéfinies plutôt qu'en écrivant mes propres fonctions
Par exemple "HI tHiS is SomE Statement"
à "Hi This Is Some Statement"
Regex ou n'importe quelle bibliothèque standard m'aidera.
J'ai trouvé certaines fonctions de bibliothèque dans Eclipse telles que STRING.toCamelCase();
. Existe-t-il une telle chose?
J'ai utilisé le ci-dessous pour résoudre ce problème.
import org.Apache.commons.lang.StringUtils;
StringUtils.capitalize(MyString);
Merci à Ted Hopp pour avoir souligné à juste titre que la question aurait dû être TITLE CASE au lieu de CAMEL CASE modifié.
Camel Case est généralement sans espaces entre les mots.
Vous pouvez facilement écrire la méthode pour le faire:
public static String toCamelCase(final String init) {
if (init == null)
return null;
final StringBuilder ret = new StringBuilder(init.length());
for (final String Word : init.split(" ")) {
if (!Word.isEmpty()) {
ret.append(Character.toUpperCase(Word.charAt(0)));
ret.append(Word.substring(1).toLowerCase());
}
if (!(ret.length() == init.length()))
ret.append(" ");
}
return ret.toString();
}
org.Apache.commons.lang3.text.WordUtils.capitalizeFully(String str)
static String toCamelCase(String s){
String[] parts = s.split(" ");
String camelCaseString = "";
for (String part : parts){
if(part!=null && part.trim().length()>0)
camelCaseString = camelCaseString + toProperCase(part);
else
camelCaseString=camelCaseString+part+" ";
}
return camelCaseString;
}
static String toProperCase(String s) {
String temp=s.trim();
String spaces="";
if(temp.length()!=s.length())
{
int startCharIndex=s.charAt(temp.indexOf(0));
spaces=s.substring(0,startCharIndex);
}
temp=temp.substring(0, 1).toUpperCase() +
spaces+temp.substring(1).toLowerCase()+" ";
return temp;
}
public static void main(String[] args) {
String string="HI tHiS is SomE Statement";
System.out.println(toCamelCase(string));
}