Regex issue

Loomy1234

Mitglied
Hello,

Java:
public static String camelCase(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();
}

Code:
error code:
expected: <MyNameIsntAlice> but was: <MyNameIsnTAlice>
Expected :MyNameIsntAlice
Actual   :MyNameIsnTAlice

The Code is working but after the special character ' the program writes the letter T in Uppercase but i don't know how to write it in lower case.
It's really frustrating.

Thanks for your help in advance!

BR
 
Zuletzt bearbeitet von einem Moderator:
Java:
public class TestSplit {
    public static void main(String[] args) {
        String test ="my name isn't alice";
        System.out.println(camelCase(test ));
    }

    public static String camelCase(final String init) {
        if (init == null)
            return null;
        final StringBuilder ret = new StringBuilder(init.length());
        String tmp = init.replaceAll("'", "");
        for ( String word : tmp.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();
    }
}
 
Zuletzt bearbeitet:
Java:
    public static String camelCase(final String init) {
        if (init == null)
            return null;
        final StringBuilder ret = new StringBuilder(init.length());
        for ( String word : init.split("[! ()_+{}\\\\[\\\\]:;,.<>/?-]")) {
            if (!word.isEmpty()) {
                if( word.contains("'") )
                    word = word.replace("'","");
                ret.append(Character.toUpperCase(word.charAt(0)));
                ret.append(word.substring(1).toLowerCase());
            }
            if (!(ret.length() == init.length()))
                ret.append("");
        }
        return ret.toString();
    }
Auf Deutsch antworten wäre mir lieber, da ich erst jetzt gemerkt habe, das man hier normalerweise auf Deutsch schreibt 🙂
?
 

Zurück
Oben