Gruppen von Namen erkennen

Andi_CH

Top Contributor

Danke für die Klasse, die ist Klasse.

Ich möchte für meine Zwecke da noch etwas anhängen. (Ja, es stimmt, die Frage habe ich mit anderen zusammen schon einmal gestellt, aber da kam keine zündende Idee - die ist dort wohl untergegangen)

Aus der Namensliste möchte ich die Patternliste generieren (siehe unten) Wie löse ich das am elegantesten?
Betreffend suche nach dem "Sprach"-Kürzel möchte ich mir folgende Optionen offen halten:

case-sensitives Matching
Position (erstes, zweites, letztes Vorkommen)

Nur so von wegen den Dateien die zwei Kürzel drin haben , wie z.B. "SIA262_de_DE_SIA262.properties"

Namensliste:
Code:
ProductionResource_de.properties
ProductionResource_en.properties
ProductionResource_fr.properties
TextResource_de.properties
TextResource_en.properties
TextResource_fr.properties
SIA262_de.properties
SIA262_de_CH_SIA262.properties
SIA262_de_DE_SIA262.properties
SIA262_en.properties
SIA262_en_CH_SIA262.properties
SIA262_en_DE_SIA262.properties
SIA262_fr.properties
SIA262_fr_CH_SIA262.properties
SIA262_fr_DE_SIA262.properties

Patternliste
Code:
ProductionResource%s.properties
SIA262%s.properties
SIA262%s_CH_SIA262.properties 
SIA262%s_DE_SIA262.properties
 

nrg

Top Contributor
ich weiß nicht, ob es nur mir so geht aber ich kann mir immernoch nicht ausmalen, was du vorhast.
übrigens das rekursive auflisten von dateien mit einem Filter habe ich dir in deinem letzten Thread dazu schon empfohlen...
 

nrg

Top Contributor
ja. aber das könnte er auch schon in der accept von seinem FileFilter machen.. steig halt noch nicht so ganz durch, was er vorhat.
 

Andi_CH

Top Contributor
Das Sammeln von Dateinamen hat sich längst erledigt - wie verarbeite ich die weiter?

Ich frage mich zwar, was die folgende Information zur Problemlösung beiträgt, aber dann halt:

Ich will über alle Dateien eines bestimmten Musters loopen, aber nur über diese! (die erwähnten liegen übrigens alle in einem Verzeichnis!)

"_de" nehme ich als Referenz
alle anderen "_fr" "_en" etc. sollten dieselben Labels wie die "_de" Datei beinhalten (aber keine zusätzlichen) und das will ich überprüfen.

Der folgende Code befindet sich innerhalb der empfohlenen Rekursion - es steht ein Pfadname und die Liste der Dateinamen zur Verfügung.

Nun soll die liste "filenames" automatisch gebildet werden.

Java:
String[] languages = {"_en", "_fr" };

String[] filenames = {
	"ProductionResource%s.properties",
	"SIA262%s.properties",
	"SIA262%s_CH_SIA262.properties",
	"SIA262%s_DE_SIA262.properties"};

for(String filename : filenames) {
	for(String lang : languages) {
		compare (String.format(filename, "_de"), String.format(filename, lang));
	}
}

Muss ich noch die Varianten begründen?
Bei "SIA262_de_DE_SIA262.properties" ist es im Moment noch unklar ob es "SIA262%s_DE_SIA262.properties" oder "SIA262_de%s_SIA262.properties" sein soll
Vielleicht automatisiere ich auch diese Entscheidung aufgrund der enthaltenen Label, vielleicht zeigt es sich auch dass es immer das lowercase "_en" ist oder es zeigt isch dass es immer das erste, zweite oder letzte Vorkommen des Kürzels ist.

So, alles klarer?


Warum nur muss ich begründen WARUM ich etwas will ???:L - ich brauche es einfach :bahnhof:
Wir disktuieren hier ja eher nicht über Architektur und Design sondern über Lösungen - auch wenn es Details sind.
 

Andi_CH

Top Contributor
Je nach Komplexität kann man die Liste eventuell per RegEx filtern.

Ich habe repräsentative Filenamen gesammelt. Bei 90% allersteht das Kürzel genau vor dem ".properties" aber eben leider nciht bei allen und ob es weitere Überraschungen gibt werde ich noch sehen.

Es sind zwei Teilprobleme
-> Erkennen des Grundmusters
-> Generieren des Patterns
 

nrg

Top Contributor
indem du einen fertigen Code von L-ectron-X kopiert hast, weil du Lösungsvorschläge mit dem Filter nicht umsetzen konntest? Ahja...

Ich weiß nicht wo dein Problem ist. Um dir helfen zu können müssen wir erstmal wissen, was du vorhast. Probiers doch einfach mit RegEx. Das ist in 10 Minuten implementiert und dann weisst du mehr....
 

Andi_CH

Top Contributor
indem du einen fertigen Code von L-ectron-X kopiert hast, weil du Lösungsvorschläge mit dem Filter nicht umsetzen konntest? Ahja...

Ich weiß nicht wo dein Problem ist. Um dir helfen zu können müssen wir erstmal wissen, was du vorhast. Probiers doch einfach mit RegEx. Das ist in 10 Minuten implementiert und dann weisst du mehr....

Na ja, der Code gab mir die Ideen.

Jeder von uns hätte bestimmte Lösungen in 10 Minuten für die die anderen erst 2 Stunden suchen und lesen müssen .......

Und - ich gehe NICHT zur Schule ich bin am Arbeiten - Ziel lernen ist sekundär.

Komisch, bei denen die jammern dass sie "auf dem Schlauch" stehen und 5 mal sagen "Hilfe ich komm nicht weiter" dauert es nicht mal 10 Postings bis die fertige Lösung da ist :)

Hilfeee - wo kann ich erfolgreich kammern lernen? :lol:
 

LadyMilka

Aktives Mitglied
was mir gerade auffällt, hast du vor der Sprachkennung immer einen Unterstrich? WEnn ja, könntest du nicht immer bei einem Unterstrich aufteilen und dann nach der Kennung schauen?

Kann auch sein, ich habs jetzt falsch verstanden, was du möchtest.

Edit: passt das überhaupt ins Anfänger-Forum? ;)
 

Andi_CH

Top Contributor
"LadyMilka" - na wenn man sich da als Schweizer nicht angepsrochen fühlt ;-)

was mir gerade auffällt, hast du vor der Sprachkennung immer einen Unterstrich? Wenn ja, könntest du nicht immer bei einem Unterstrich aufteilen und dann nach der Kennung schauen?

Ja hat es, aber was danach kommt ist unterschiedlich - bis jetzt '_' oder '.'

Variante 1 ist also: Aufsplitten in Teilstrings und nachschauen ob "fr" drin steht

Edit: passt das überhaupt ins Anfänger-Forum? ;)
Ja es passt hierhin, wenn ich nicht hätte erklären müssen warum ich das brauche :)

Ich möchte doch nur Strings umwandeln - ein Grundmuster aus den Strings extrahieren. Mehr nicht ;-)

"SIA262_fr_DE_SIA262.properties" als Eingabe
"SIA262%s_DE_SIA262.properties" als Ausgabe

"SIA262_en_DE_SIA262.properties" als Eingabe
"SIA262%s_DE_SIA262.properties" als Ausgabe
-> Huch, habe ich ja schon :D

(Aber den loop und den "huch" Effekt baue ich dann schon ein :) )
 

Andi_CH

Top Contributor
Schweigen im walde?

Es gibt für String replaceFirst und replaceAll

Wie muss eine regexp definiert sein, dass nicht ein char durch das pattern ersetzt wird, sondern ein Teilstring?

Java:
	System.out.print(files[i].getName() + "   ");
	String neu = files[i].getName().replaceFirst("[_de, _en]", "%s");
	System.out.print(neu + "   ");
	neu = files[i].getName().replaceFirst("[\"_de\", \"_en\"]", "%s");
	System.out.println(neu);
Output:
Code:
ProductionResource_de.properties   Pro%suctionResource_de.properties   Pro%suctionResource_de.properties

Mir fehlt replaceLast ober replaceNth (siehe weiter oben) wie kann man das steuern?
 

Andi_CH

Top Contributor
Ja genau, danke! (jetzt suche ich reverse wie ich darauf hätte kommen sollen ;-) )

Hast du auch noch eine Idee wie ich das zweite bzw. letzte Vorkommen ersetzen kann?

contains(String), indexOf(String, int), lastIndexOf(String) - die alle laufen auf "Handarbeit" hinaus, die ich mir lieber ersparen würde
 

Andi_CH

Top Contributor
google ist offensichtlich nicht google!

java string replace last ->

erster Link
hat nicht wirklich was mit replace und last zu tun

Dann folgen einige von download.oracle.com zum Thema String - na ja replace und last stehen da sicher IRGENDWO im Text ....

Ganz geil sind links wie dieser Wo google da die keywords gefunden hat ist mir schleierhaft ----

und so geht es weiter - über die zweite Seite hinaus suche ich nie.

So viel zu dem Thema :-(
 
Zuletzt bearbeitet:

Andi_CH

Top Contributor
Auf Umwegen gefunden

Replace last string - Stack Overflow


The following code should replace the last occurance of a ',' with a ')'.
Java:
StringBuilder b = new StringBuilder(yourString);
b.replace(yourString.lastIndexOf(","), yourString.lastIndexOf(",") + 1, ")" );
yourString = b.toString();
 

nrg

Top Contributor
"replaceLast java" habe ich gegooglet :). da war das der erste Hit.

ist das Thema dann erledigt? replaceLast sollte ja dann gegessen sein. replaceN musste wohl selbst implementieren.
 

Andi_CH

Top Contributor
Ich habe bis jetzt noch keinen Fall entdeckt für den replaceN brauche, aber wenn ich einenLibrary schreibe mache ich das so allgemein wie möglich.


Ist übrigens eine Tatsache das die Einstiegs URL von google das Verhalten der Suchmaschine beeinflusst.

Google.ch .de und .com liefern im allgemeinen Fall unterschiedliche Resultat ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Nach Namen sortieren und diese in 3 Gruppen aufteilen Java Basics - Anfänger-Themen 16
M Klassen Generische Klassen, Personen und Gruppen Java Basics - Anfänger-Themen 6
C Reguläre Ausdrücke: string.matches() und gefangene Gruppen Java Basics - Anfänger-Themen 12
P Gruppen Matching Java Basics - Anfänger-Themen 14
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
M Arrayliste mit beliebig vielen Namen befüllen Java Basics - Anfänger-Themen 4
L loop für Namen Java Basics - Anfänger-Themen 11
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
O Namen (mit Umlauten und ß) in einer ArrayList suchen Java Basics - Anfänger-Themen 5
P Methoden Namen trennen mit .substring(), char.At(), .lenght() Java Basics - Anfänger-Themen 8
F Jtree kürzt Namen auf ... Java Basics - Anfänger-Themen 4
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
B Datentypen Datentyp welcher den gleichen Namen wie die Klasse trägt? Java Basics - Anfänger-Themen 1
S Variablen Flexible Variablen Namen Java Basics - Anfänger-Themen 3
N Konstruktoraufruf mit "variablem" Namen Java Basics - Anfänger-Themen 5
feinperligekohlensaeure Arraylisten-Namen iterieren.. wie ? Java Basics - Anfänger-Themen 39
S Objekte mit gleichem Namen in unterschiedlichen Klassen Java Basics - Anfänger-Themen 3
H Erste Schritte JTree: Instanzen einer Klasse speichern oder Namen/Strings... Java Basics - Anfänger-Themen 4
Silvascus Array, der mit dem Namen, der per Methode übergeben wird, erstellt wird Java Basics - Anfänger-Themen 5
K Methoden mit den Namen accept. Welche Funktion haben diese? Java Basics - Anfänger-Themen 2
H Namen abgleichen Java Basics - Anfänger-Themen 3
M Datei-Namen aus .jar auslesen Java Basics - Anfänger-Themen 7
A Wie am effizientesten bzw. schnellsten Namen/Wörter sortieren? Java Basics - Anfänger-Themen 1
S Strings im Array nach Namen sortieren Java Basics - Anfänger-Themen 11
L Namen aus Textdatei auslesen Java Basics - Anfänger-Themen 1
J JLabels in schleife erzeugen mit verschiedenen namen? Java Basics - Anfänger-Themen 5
E Array von Objekten einer selbst definierten Klasse mit eindeutigem Namen Java Basics - Anfänger-Themen 2
D Interface namen bekommen Java Basics - Anfänger-Themen 3
K Best Practice In Klassen auf andere Objekte mit variablen Namen zugreifen Java Basics - Anfänger-Themen 6
X Variablen Actionlistener | Variablen-namen Java Basics - Anfänger-Themen 5
O Prüfen ob ein String den selben Namen hat wie eine Booleanreihe? Java Basics - Anfänger-Themen 17
K Doppelte namen bei random Java Basics - Anfänger-Themen 3
K Einfacher random namen weitergeben Java Basics - Anfänger-Themen 4
D String mit Integer Variablen Namen vergleichen, möglich? Java Basics - Anfänger-Themen 6
V Variablen/Objekt Namen hochzählen Java Basics - Anfänger-Themen 4
Kenan89 Nach Namen einer Klasse fragen Java Basics - Anfänger-Themen 6
O variablen String Namen Java Basics - Anfänger-Themen 11
B JFrame - Namen anzeigen Java Basics - Anfänger-Themen 2
K Klassen Objekt mit einem Namen von einer bestimmten Klasse instanziieren Java Basics - Anfänger-Themen 10
G Namen der Generic Klasse Java Basics - Anfänger-Themen 3
B Font Namen ermitteln Java Basics - Anfänger-Themen 7
Luk10 Package Namen Java Basics - Anfänger-Themen 5
M Input/Output Namen der Files aus einem Ordner MIT bestimmten Encoding auslesen? Java Basics - Anfänger-Themen 3
I Namen eines Elements aus 2 Variablen zusammenbasteln Java Basics - Anfänger-Themen 7
C Methoden mit wechselndem Namen in Schleife aufrufen Java Basics - Anfänger-Themen 11
J Pfad bzw. Namen einer Datei auslesen Java Basics - Anfänger-Themen 6
D Javamail - Absender-Namen einfügen? Java Basics - Anfänger-Themen 2
C AbstractTableModel Spalten-Namen Java Basics - Anfänger-Themen 3
M Package Namen ändern Java Basics - Anfänger-Themen 3
O Kann ich für Array-Namen Variablen verwenden? Java Basics - Anfänger-Themen 2
M Namen der Elemente auf ContentPane? Wie darauf zugreifen? Java Basics - Anfänger-Themen 2
B Konstruktor namen wird nicht erkannt Java Basics - Anfänger-Themen 9
H Expliziten Namen angeben Java Basics - Anfänger-Themen 2
G Namen von ArrayListen dynamisch erzeugen Java Basics - Anfänger-Themen 4
E Hilfed, ide bitte de Namen wählt Java Basics - Anfänger-Themen 5
P Namen Programm Java Basics - Anfänger-Themen 5
G Namen soriteren Java Basics - Anfänger-Themen 19
W Variable mit Namen aus Variablen deklarieren Java Basics - Anfänger-Themen 2
W Objekt-Namen aus Variablennamen erstellen Java Basics - Anfänger-Themen 7
G Welchen package-Namen wählen, wenn man keine Domain hat? Java Basics - Anfänger-Themen 11
P Suche Namen für eine Komponente Java Basics - Anfänger-Themen 13
F Kann man den Namen einer Variable in ein String Konvertieren Java Basics - Anfänger-Themen 2
G Eingegebene Namen sortieren Java Basics - Anfänger-Themen 2
G Namen alphabetisch sortieren Java Basics - Anfänger-Themen 3
M Namen der Dateien in einem bestimmten Verzeichnis erhalten Java Basics - Anfänger-Themen 4
D Welchen Namen darf ein Konstruktor haben? Java Basics - Anfänger-Themen 6
J Methode mit gleichem Namen in verebter Klasse und Interface Java Basics - Anfänger-Themen 5
T Namen und RGB Wert extrahieren? Java Basics - Anfänger-Themen 2
S einlesen von dateien mit var. namen Java Basics - Anfänger-Themen 6
G ArrayList mit Namen belegen Java Basics - Anfänger-Themen 5
R Finde meinen Fehler nicht! - Namen von Personen vergleichen Java Basics - Anfänger-Themen 6
G Objekt Namen dynamisch vergeben. Java Basics - Anfänger-Themen 7
M Namen der eigenen Klasse ermitteln Java Basics - Anfänger-Themen 2
T scanner eingaben erkennen und umtauschen Java Basics - Anfänger-Themen 4
B Zusammenhängende Blöcke bei x-gewinnt erkennen? Java Basics - Anfänger-Themen 14
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
H Logik Fehler erkennen Java Basics - Anfänger-Themen 21
1 Wie dieses Muster am einfachsten erkennen? Java Basics - Anfänger-Themen 32
Yasemin bahar Muster erkennen Java Basics - Anfänger-Themen 13
U Muster in einem Array erkennen Java Basics - Anfänger-Themen 8
N Eingabe erkennen, ob groß oder kleingeschrieben worden ist Java Basics - Anfänger-Themen 22
N palindrom erkennen Java Basics - Anfänger-Themen 3
A Figur erkennen, aber Abweichung falsch Java Basics - Anfänger-Themen 2
C Erkennen ob Frame geschlossen wurde Java Basics - Anfänger-Themen 2
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3
P Eigenschaft eines imperativen Algo (Pseudocode) sofort erkennen Java Basics - Anfänger-Themen 1
G Verlassen einer ComboBox erkennen Java Basics - Anfänger-Themen 16
S Java Großbuchstabe erkennen Java Basics - Anfänger-Themen 5
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
B Unterschiede in einer Liste erkennen Java Basics - Anfänger-Themen 1
O String: Befehl und Wert erkennen. Java Basics - Anfänger-Themen 4
S Zeilenumbruch mit Scanner erkennen Java Basics - Anfänger-Themen 9
J Leerzeichen im Pfad automatisch erkennen Java Basics - Anfänger-Themen 30
M Input/Output Zeilenumbrüche erkennen und beibehalten Java Basics - Anfänger-Themen 4
X XML-Eintrag an Attribute erkennen Java Basics - Anfänger-Themen 2
N Erkennen ob Linkshänder Maus Java Basics - Anfänger-Themen 4
L In Javakara Palindrom erkennen. Java Basics - Anfänger-Themen 9
B Tastatureingabe erkennen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben