Java: Reine Großschreibung in kombinierte Groß-/Kleinschreib

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Java: Reine Großschreibung in kombinierte Groß-/Kleinschreib

von Jo » 05 Jun 2006, 17:16

Mein Code findet nur einen Schrägstrich, es taucht aber auch höchstens einer auf. Mir fällt aber gerade etwas viel schlimmeres auf: Nach dem Schrägstrich muss klein geschrieben werden. Da war die Mühe ohnehin umsonst.

von bodo » 05 Jun 2006, 15:31

Also ich hab das so gemacht:

Code: Alles auswählen

String genre = "HALLO/dies IST Genre TEXT";

Pattern pattern = Pattern.compile("\\b[ÄÖÜA-Z]([ÖÄÜA-Z]*)\\b");
Matcher matcher = pattern.matcher(genre);
              
StringBuilder builder = new StringBuilder();
              
int pos = 0;
              
while (matcher.find()) {
  builder.append(genre.substring(pos, matcher.start(1)));
  builder.append(genre.substring(matcher.start(1), matcher.end(1)).toLowerCase());
  pos = matcher.end(1);
}

builder.append(genre.substring(pos));
              
System.out.println("FINAL : " + builder.toString());
Ich glaub dein Code findet nicht alle Stellen. Und nochwas: Java-StyleGuide sacht das Variablen klein geschrieben werden ;)

von Jo » 05 Jun 2006, 00:14

Ich habe es doch noch selbst gemacht. Vermutlich unnötig kompliziert, aber es klappt:

Code: Alles auswählen

Pattern Casepattern = Pattern.compile("^(.?)([^/]*)(/?)(.?)(.*)");
Matcher Casematcher = Casepattern.matcher(genre);
if (Casematcher.find()) {						
  genre = Casematcher.group(1);
  genre += Casematcher.group(2).toLowerCase();
  if (Casematcher.group(3).equals("/")) {
    genre += "/"+ Casematcher.group(4);
    genre += Casematcher.group(5).toLowerCase();
  }
}

Java: Reine Großschreibung in kombinierte Groß-/Kleinschreib

von Jo » 04 Jun 2006, 23:07

Rein kosmetisches Problem: Die niederländ. Sender haben die Genreangaben in reiner Großschreibung. Ich würde es ganz gern umwandeln, sodass nur der 1. Buchstabe groß ist. Manchmal ist hinter einem "/" noch ein Wort, das auch groß sein sollte. Ich kenne mich mit regulären Ausdrücken in Java nicht so aus, und will nicht viel Code dafür schreiben.
Deshalb dachte ich, falls ein anderer Datenanbieter ein Problem der Art schon gelöst hat, könnte ich das vielleicht übernehmen. Sonst lass ich es bei Großschreibung.

Nach oben