String Split()

qtuan3008

Mitglied
Hallo liebe Mitprogrammierer.

Ich habe ein String z.B.
Java:
String testString = " Man kann die [[Zeilennummer des]] Quelltexttest [[explizit|angeben]] hier codeausschnitt......"


Wie kann ich Zeilennummer des, und explizit ausgeben. Ich habe versucht mit split() versucht, aber habe noch keinen Ausdruck gefunden. Könnte jemand mir Tipp geben. Danke

Viele Grüsse
T
 
Ist der Aufbau des Strings immer so wie das Beispiel ? also immer "texttexttext[[nummer blabla]] bla bla [[explizit|angeben]] wieder text..." also sind das immer so doppelte eckige Klammern ? steht hinter der Zeilennummer immer dieses "des" und in der zweiten klammer, steht da immer angeben ? ist das explizit immer von angeben mit einem | getrennt ? Und was steht da an stelle von explizit ? Was sind da für möglichkeiten, was da vorkommen kann.Das riecht hier nach einem Regex (also eins wird gebraucht), deswegen brauche ich so viele infos wie möglich
 
hallo

Das ist eigenlich "text text [[A]] text text [[B|C]] text bla bla bla". ja, ich muss alles in der doppelte eckige Klammern ausgeben. Aber bei "[[B|C]]", muss nur B.
 
So auf die schnelle:
Java:
	public static void main(String[] args) {
		String testString = " Man kann die [[Zeilennummer des]] Quelltexttest [[explizit|angeben]] hier codeausschnitt......";
		Pattern pattern = Pattern.compile("\\[\\[.*?\\]\\]");
		Matcher matcher = pattern.matcher(testString);
		while (matcher.find()){
			if (matcher.group().matches(".*?\\|.*")){
				System.out.println(matcher.group().split("\\|")[0].replaceAll("\\[","").replaceAll("\\]",""));
			}
			else{
				System.out.println(matcher.group().replaceAll("\\[","").replaceAll("\\]",""));
			}
		}
	}

Kann man bestimmt noch optimieren, wollte aber so schnell wie möglich antworten 😛
 
Ich hätte jz auf die schnelle soetwas vorgeschlagen:
Java:
public static void main(String[] args) 
{
	String abcdef="text [[befehl1]] text text [[befehl2]]";
	
	Matcher matcher=Pattern.compile("(.*?)\\[\\[(.*?)\\]\\]").matcher(abcdef);
	
	while(matcher.find()) {
		String rslt="";
		String data=matcher.group(2).trim().toLowerCase();
		switch(data) {  // <-- Strings in Switch setzt Java 7 vorraus. 
			case "befehl1":
				rslt+=System.currentTimeMillis();
				break;
			case "befehl2":
				rslt+="Hello World!";
				break;
		}
		System.out.print(matcher.group(1) + rslt);
	}
}

ist deinem sehr ähnlich. Nur was ich mache:
Ich arbeite mit Gruppen im Regex. Somit lasse ich den originalString unangetastet und setze alles wieder neu zusammen. Das Auswerten der Befehle in den klammern kann dann ieine Methode übernehmen, die dann das Ergebnis zurückgibt.
 
Zuletzt bearbeitet von einem Moderator:
Danke euch, Ich versuche mal zu verstehen.
Ich habe vorher mit indexof versucht. Aber das Problem ist meine Daten ist ziemlich groß 100gb. wie denkt ihr, wird es schneller mit Split
 
Mit Split würde ich frühestens bei der Auswertung arbeiten. Ansonsten hast du ewig viele Arrays. Mit indexOf ist es auch lösbar, aber hier bietet sich ein Regex an.

Was jz genau schneller ist :bahnhof:. Ich schätze am schnellste wäre ein optimiertes Arbeiten mit indexOf.
 
@ Tomate_Salat

Wie ich sehe haste dir Java 7 runtergeladen 🙂 (ich kam noch nicht dazu ^^) Ich glaube jetzt wird das switch case mal öfters genutzt 🙂 Und zurück zum Thema, ja das mit den Groups muss ich mir auch echt angewöhnen, ich vergesse immer wieder das es so etwas nützliches gibt ^^.

@TO
Also 100gb in den Speicher zu laden wäre sowieso glaube ich nicht so eine gute Idee 🙂 Ich weiß nicht, wie du sie ausließt. ggf. muss das Regex noch an die Zeilenumbrüche etc. angepasst werden.
Generell für Aufgaben wie, finde in einem String etwas, das sich in einem Vordefiniertem bereich (z.B umgeben von Klammern) befindet, sind eher Regex zu bevorziehen. Index of oder split wird da nicht wirklich den Zweck erfüllen, da du auch die Unbrauchbaren Daten mitschleppst.

Zu Regex: Regular Expressions - Ein sehr gutes, finde ich, Tutorial von sun/oracle
 
In c++ habe ich soetwas ähnliches (hat mehr komplität) mit einer indexOf-Variante schon gelöst ;-). Es ist durchaus eine Möglichkeit. Letztendlich durchsucht Regex ja auch den String den er bekommt. Aber ich denke,dass kann man an der Stelle vernachlässigen. Hier kommt es eher darauf an, wie der TO die Daten einliest. Den relativ gesehen, glaube ich nicht, dass man hier große Unterschiede merken wird (Ich sag mal so: bei 3h arbeit, spielen 5minuten auch keine Rolle mehr :joke🙂


.... und ja. Ich habe schon J7 auf dem Rechner und auch das Plugin in Eclipse ;-)
 
@RySa
Ich muss die Linke in der Wikipedia rausholen. Die werden immer in doppelte eckige Klammern also [[linke]] in text geschrieben.
Ich speicher zuerst ein Text in StringBuffer wenn ich alle linke in text bekomme, dann lösche ich den Text und lese ich den nächste. Im Text sind auch die Zeilenumbrüche.
 
. - beliebiges Zeichen
* - der Ausdruck davor kann 0-mal oder beliebig oft vorkommen
Das heißt beliebiges Zeichen keinmal-oder öfters(egal wie oft). das zusätzliche ? dahinter heißt, dass der Ausdruck "relucant" sein soll, also vereinfacht: es kan beliebig viele oder gar kein Zeichen kommen, ausser ]], denn mit ]] muss es noch enden (das . darf also dieses ]] davor nicht "auffressen")- schwer zu erklären. Musst dir das Tutorial mal durchgehen 🙂

EDIT: Bei nur .* statt .*? würdest du in deinem Beispiel so etwas auf einmal zurückbekommen:
"[[Zeilennummer des]] Quelltexttest [[explizit|angeben]]" statt die beiden Klammern einzeln

EDIT 2: Ich hoffe nur, du ließt den Text nicht ausversehen z.B nur bis "text[[te" und wertest ihn dann aus, denn dann geht die Klammer "verloren". Für mögliche Zeilenumbrüche und allgemein whitespaces, füge im Pattern.compile() noch ein (?s) hinzu am Anfang. Also:
Java:
Pattern pattern = Pattern.compile("(?s)\\[\\[.*?\\]\\]");
 
Zuletzt bearbeitet:
Mit Indexof bin ich nicht wirklich zufrieden mit der Laufzeit. Habe versucht zu optimieren aber habe keine Stelle gefunden 🙂. Habe gegoogert ---> Split(). Hoffe wird es schneller.

ich bin dabei unter deinem Link von sun/oracle. Ich denke,dass ich selbst gucken muss, sonst komme ich nicht weiter. Ich danke euch viel Mal.
 
Wieso hängst du so an diesen indexOf und split ? Die Beispiele von mir und Tomate_Salat, funktionieren doch, oder etwa nicht ?
 
Willst du das Split als Ersatz für das Regex oder zum Auswerten von z.B. soetwas:
[c]ABC|DEF[/c]
wo du [c]ABC[/c] rausfischen musst? Falls letzterem: Nimm split.

@RySa: gut, ich bin nicht der einzige der gerade verwirrt ist 🙂
 
@RySa
Ich habe vorher meine 100gb daten mit indexof aufgebaut. Ich möchte jetzt mit Split probieren ob es schneller wird. Du hast recht in Wikipeida manchmal gibt typ feller also "text text [[B text text......". In diesem falls kann man nicht anders machen. B wird vernachlässigt.

@alle
Wegen Typfehler in Wikipedia, deswegen bei Indexof muss ich viel if{..}else{} benutzen. und auch wegen "|". Ich denke werde ganze code mit split probiert. Also Indexof raus.
 
Willst du das Split als Ersatz für das Regex oder zum Auswerten von z.B. soetwas:
ABC|DEF
@Tomate_Salat
Das ist bei meinem Beispiel soger schon mit drin, der bräuchte es also nur noch zu kopieren 😛

@TO

Es geht nicht um Tippfehler. Du sagtest du verwendest einen Stringbuffer. Was ich mit diesen abgeschnittenen Ausschnitten meinte war, dass der Buffer ggf. nur bis dahin gefüllt wurde, bzw. du nur bis dahin ausgelesen hast. Vergiss nicht das (?s) zu dem Pattern hinzuzufügen, wie ich schon oben geschrieben habe. Sonnst gibts bei Zeilenumbrüchen oder Absätzen ggf. Probleme.
 
Nur noch so zur Ergänzung. Kann man den Inhalt nicht als xml-File bekommen/anfordern ? Da wäre glaube ich die Bearbeitung der Daten einfacher und effektiver.

EDIT: Hmm obwohl...100gb als xml wäre auch nicht so lustig ^^
 
Ja dann sag es doch direkt ^^
Kannst du so ein Auschnitt aus der xml posten, wie sie aufgebaut ist und was du daraus holst ?
 
ein Auschnitt wäre schlecht, weil die Datei komprimiert ist. Wenn ich auspacke, denke reicht meine festplatte nicht.
ich kann kurz zusammen fassen
ich holen den Inhalt ein Seite in Wikipeida <text>...................<\text>. dann suche ich alle Linke.
Das Problem ist die Linke werden durch 2 klamme [[ und ]] aufgebaut.
es gibt einige fälle:
+) für linke [[A]] muss A ausgeben, [[A|B]] muss A ausgeben
+) aber es gibt auch die linke die man vernachlässigt muss z.B: [[Category😀eutschland]], oder [[de:deutsch]] (diese Link siehe auf der Seite wenn du die Sprache welche willst)

Ich versuche jetzt aufzubauen. Das Problem ist das dauert paar Stunde + mein Änderung(ich bin Neuling in Java--->bei mir geht nicht schnell wie bei euch ^-^). Ich sage bescheid wenn ich das Ergebnis bekommen. Hoffenlich wird es schneller.
 
habe noch mal geguckt. In XML datei in der wikipedia gibt keine Zeilenumbrüchen. die Zeilenumbrüchen wird durch 2 mal leere Zeichen dargestellt, also " ". Nur kleine Bemerkung wenn ihr Wikipedia interesiert
 
Hi alle,

Ich habe eine Version, die vielleicht schneller

Java:
String[] aus1 = text.split("\\[\\[");
for (int i = 1; i < aus1.length; i++) {
String[] aus2 = aus1[i].split("\\]\\]");
String[] aus3 = aus2[0].split(":");
if (aus3.length == 1) {
String[] aus4 = aus3[0].split("\\|");
System.out.println(aus4[0]);
}
}

es ist leide nicht wie ich erwartet habe. Ich habe getestet mit 50000mal in eine for-schleife und Indexof war deutlich schneller also 3mal . Warum kann ich nicht sagen.
 
Wieso einfach, wenns auch kompliziert geht, gell?

Wieso nimmst du nicht meinen Regex, da musst du nur noch das Auswerten, was zwischen den Klammern: [c][[[/c] und [c]]][/c] steht (da kannst du dann gerne mit split arbeiten). Oder nimm den von RySa (aber ich empfehle noch nachträglich die Regex-Gruppen einzubauen). Von deiner letzten Variante rate ich dir entschieden ab! Und mit IndexOf würdest du eigentl. das Rad nur neu erfinden...nimm einfach für den ersten Schritt Regex.
 
Jo das mit den Gruppen versuche ich mir seit gestern (anzugewöhnen ? gibts es so ein Wort ? ^^). Jedenfalls, wenn er so sehr meint, er müsste mit indexOf arbeiten, dann belassen wir diese Hilfe glaube ich hierbei und er soll halt weiter die Zeit dafür verschwenden, mit indexOf zu kämpfen, bis er doch auf die Regex zurückkommt ^^. Versucht haben wirs 🙂 Ausserdem scheint es mir als ob seine Post direkt vom google-translate kommen (manchmal zumindest 😛).
 
@Tomaten_salat.
Ich habe beide von euch probiert. Es ist leide langsamer als meine Version. Es kann sei, wegen machtes, group....... Und in meiner version nur split().
@RySa
Es hat mir sehr geholfen, damit ich weiß wir split() funktioniert. Danke euch.

Ich denke Indexof passt zu meinem Problem. Obwohl muss ich ehrlich sagen, ich weiß nicht warum. Wie ich in internet gelesen habe muss split schneller funktionieren. Ich war überrascht dass das 3mal schneller ist.

Ich wünsche euch einen schönen Tag noch und gern mal wieder 🙂


Ich komme nicht aus Deutschland----->gramatik fehler ist das normal oder?????? 🙁
 
Zuletzt bearbeitet:
Zeige mal bitte, wie du den Regex für deinen Test verwendet hast. Eigentl. sollte es damit ganz gut klappen. Wenn nicht, würde ich eher mit indexOf arbeiten, als mit String-Split. Mit den vielen Arrays die du bekommst, schleichen sich schnell mal Fehler ein.
 
Java:
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.PrintStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Split_pure {

	public static void main(String[] args) {

		String text;

		try {
			BufferedReader reader = new BufferedReader(new FileReader("TEXT"));
			text = reader.readLine();

			long time1 = System.currentTimeMillis();
			for (int k = 0; k < 50000; k++) {
				String[] aus1 = text.split("\\[\\[");
				for (int i = 1; i < aus1.length; i++) {
					String[] aus2 = aus1[i].split("\\]\\]");
					String[] aus3 = aus2[0].split(":");
					if (aus3.length == 1) {
						String[] aus4 = aus3[0].split("\\|");
						//System.out.println(aus4[0]);
					}

				}
			}
			long time2 = System.currentTimeMillis();
			System.out.println(time2 - time1);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Ich lasse das 50000 mal laufen
 
von dir????

ich habe von RySa probiert, natürlich nicht 1 zu 1 muss etwas ergänzen. Es ist leide wie ich geschrieben habe
 
Zuletzt bearbeitet:
Ich möchte wissen, mit welchem Code du die Zeit eines Durchlaufes von Regex gemessen hast.
 
Poste es einfach hier. Das könnte eventuelle Mithelfer interessieren und dazu kommt noch, dass ich hier keine Hilfe über E-Mail, Skype, ICQ, MSN,PM oder Brieftaube anbiete ;-)
 
'''Sexueller Missbrauch in der römisch-katholischen Kirche''' ist ein Phänomen, das seit Mitte der neunziger Jahre weltweit größere öffentliche Aufmerksamkeit erhält. Berichtet wird dabei sowohl über Fälle von [[Sexueller Missbrauch|sexuellem Missbrauch]] insbesondere an [[Sexueller Missbrauch von Schutzbefohlenen|Schutzbefohlenen]] und Untergebenen durch [[Priester]], [[Ordensleute]] und angestellte [[Erzieher]] innerhalb der [[Römisch-katholische Kirche|römisch-katholischen Kirche]] als auch über den Umgang kirchlicher Stellen mit den Tätern und Opfern. == Einführung == Nach Skandalen in Irland und den USA wurden seit Anfang 2010 auch in Deutschland [[Sexualdelikt]]e in katholischen Einrichtungen in größerem Umfang bekannt. Zum großen Teil hatte keine [[Strafverfolgung]] der Täter durch [[Staatsanwaltschaft]] oder [[Polizei]] stattgefunden. Opfer erhielten keinen oder unzureichenden Schutz. Daher steht das Verhalten kirchlicher Institutionen in der Kritik, auch wenn diese Delikte von höchster kirchlicher Stelle wiederholt öffentlich verurteilt wurden und schwere Vergehen gegen Recht und Moral der römisch-katholischen Kirche darstellen. Juristisch werden [[Sexueller Missbrauch von Kindern]] und [[Sexueller Missbrauch von Jugendlichen]] durch die jeweilige gesetzliche Festlegung des [[Schutzalter]]s voneinander abgegrenzt. Zu den Formen zählen unmittelbar geschlechtliche Handlungen mit und ohne [[Geschlechtsverkehr]] und auch das Zeigen [[Pornographie|pornographischer]] Medien. Die Missbrauchshandlung kann sich über Jahre erstrecken. Opfer [[Sexueller Missbrauch|sexuellen Missbrauchs]] können auch hierarchisch Untergebene sein, etwa [[Nonne]]n und [[Katholisches Priesterseminar|Seminaristen]] oder im Rahmen des Beichtsakramentes [[Pönitent]]en. Eine weitere Gruppe von Opfern können hilfsbedürftige Menschen in Einrichtungen sein. Zu den in Frage kommenden Delikten zählt auch [[Vergewaltigung]]. Die Täter entstammen nicht nur der Gruppe der [[Klerus|Kleriker]], sondern auch der der [[Laie (Religion)|Laien]] wie zum Beispiel Lehrern und weiteres Personal, in Heimen auch Mitzöglinge. Bei der Diskussion des Hintergrunds werden allgemein [[Sexualität]], [[sexuelle Orientierung]] sowie wie Verdrängung von Sexualität und der [[Zölibat]] angesprochen, im engeren Rahmen auch * [[Pädophilie]] (seltener auch als „[[Pädophilie|Pädosexualität]]“ bezeichnet), * [[Paraphilie|Präferenzstörungen]] und * [[Ephebophilie]] (sexuelle Vorliebe für pubertierende Jungen). * Ersatzobjekttäter vergreifen sich an Ersatzobjekten (z.&nbsp;B. Opfern die nicht hinreichend Widerstand leisten können), die nicht ihrer eigentlichen [[Sexualpräferenz|sexuellen Präferenz]] entsprechen. Empirische Daten für Missbrauch durch katholische Geistliche oder andere Mitarbeiter der katholischen Kirche gibt es kaum; die vorhandenen Schätzungen aus verschiedenen Ländern kommen zu unterschiedlichen Ergebnissen, die besagen, dass zwischen 1 und 5 % der Kleriker durch Missbrauch aufgefallen sind. Manche gehen davon aus, dass überdurchschnittlich viele Kleriker pädophil veranlagt sind, andere hingegen, dass der Anteil unter dem Durchschnitt der Gesamtbevölkerung liegt. Die [[Dunkelfeld|Dunkelziffer]] wird bei Taten sexuellen Missbrauchs allgemein als sehr hoch eingeschätzt. == Entwicklung im deutschen Sprachraum == === Deutschland === ==== 19. Jahrhundert ==== Vorwürfe sexuellen Missbrauchs durch Geistliche und Ordensleute machen einen Großteil des [[Pfaffenspiegel]]s aus, eines in [[Deutschland]] weit verbreiteten antikatholischen [[Pamphlet]]s, das nach seinem Erscheinen 1845 bis ins 20. Jahrhundert hinein immer neue Auflagen erlebte.<ref>Hans Schleier, ''Geschichte der deutschen Kulturgeschichtsschreibung: Bd. 1: Vom Ende des 18. bis Ende des 19. Jahrhunderts'', Reprint, Spenner, Kamen 2002, S. 875–879.</ref> In der Tradition der europäischen [[Zeitalter der Aufklärung|Aufklärung]] bemüht sich der Verfasser [[Otto von Corvin]], die katholische Kirche als vernunftfeindlich und bigott zu entlarven. Zu diesem Zweck breitet er über lange Strecken die [[Topos (Geisteswissenschaft)|Topik]] des {{"|geilen Pfaffen}}, der die intime Situation der [[Beichte]] sexuell ausnutze, wie sie etwa in zahlreichen [[Schwank|Schwänken]] und [[Mär]]en des [[Spätmittelalter]]s und der [[Frühe Neuzeit|Frühen Neuzeit]] immer wieder erzählt und variiert wurde.<ref>Hertha Busemann, ''Der Jesuit und seine Beichttochter Die Faszination eines Sittenskandals in drei Jahrhunderten'', Oldenburg 1987, S. 98–105</ref><ref>Ralph Tanner, ''Sex, Sünde, Seelenheil. Die Figur des Pfaffen in der Märenliteratur und ihr historischer Hintergrund'', Königshausen und Neumann, Würzburg 2005, S. 556 ff.</ref><ref>Tilmann Walter, ''Unkeuschheit und Werk der Liebe. Diskurse über Sexualität am Beginn der Neuzeit in Deutschland'', de Gruyter, Berlin und New York 1997, S. 172–185</ref> Anders als der [[Diskurs]] der frühneuzeitlichen Dichtung, in dem Pädokriminalität nicht vorkommt,<ref>Tilmann Walter, ''Unkeuschheit und Werk der Liebe. Diskurse über Sexualität am Beginn der Neuzeit in Deutschland'', de Gruyter, Berlin und New York 1997, S. 262</ref> ergeht sich Corvin auch in der Schilderung von angeblichen {{"|schändlichen Verführungen, die unter Leitung der Mönche stehenden Knaben ausgesetzt sind, und ein jeder Vater wird daraus erkennen können, wie höchst gefährlich es für seine Kinder ist, wenn er diese in [[Klosterschule]]n unterrichten lässt.}}<ref>[[Otto von Corvin]]: ''Der Pfaffenspiegel. Historische Denkmale des christlichen Fanatismus.'' 43. Auflage, Rudolstadt, 1927, S. 267 ([Otto von Corvin: Pfaffenspiegel online]).</ref> Die Historikerin [[Irmtraud Götz von Olenhusen]] untersuchte in einer [[Sozialgeschichte|sozialhistorischen]] Arbeit von 1994 den [[Großherzogtum Baden|badischen]] Klerus im 19. Jahrhundert und kam dabei auch auf mehrere Fälle zu sprechen, in denen Priestern Vergewaltigung oder Unzucht mit Minderjährigen vorgeworfen wurde.<ref>Irmtraud Götz von Olenhusen: ''Klerus und abweichendes Verhalten. Zur Sozialgeschichte katholischer Priester im 19. Jahrhundert.'' Vandenhoeck und Rupprecht, Göttingen 1994, ISBN 3-525-35769-9, S.&nbsp;247–271 ([Klerus und abweichendes Verhalten - Google Bücher online]).</ref> ==== NS-Zeit ==== Tatsächliche oder imaginierte Fälle von sexuellem Missbrauch in der Kirche wurden zur [[Zeit des Nationalsozialismus]] zu antikatholischen [[Polemik]]en und juristischer Verfolgung genutzt. Die Verbreitung des [[Pfaffenspiegel]]s wurde vom Regime gefördert.<ref>Till Kössler: ''Zwischen Milieu und Markt. Die populäre Geschichtsschreibung der Arbeiterbewegung 1890–1933.'' In: Wolfgang Hardtwig und Erhard Schütz (Hrsg.): ''Geschichte für Leser. Populäre Geschichtsschreibung in Deutschland im 20. Jahrhundert'', Franz Steiner Verlag, Stuttgart 2005, S.&nbsp;277.</ref> In den Jahren 1936 und 1937 kam es zu einer Serie von rund 250 sogenannten {{"|Sittlichkeitsprozessen}} gegen katholische Priester und [[Ordensmann|Ordensleute]].<ref>Auch zum Folgenden Hans Günter Hockerts: ''Die Sittlichkeitsprozesse gegen katholische Ordensangehörige und Priester 1936/1937. Eine Studie zur nationalsozialistischen Herrschaftstechnik und zum Kirchenkampf.'' Matthias-Grünewald-Verlag, Mainz 1971</ref> In den Prozessen ging es um sexuellen Missbrauch von Kindern, Unzucht mit Schutzbefohlenen und in ihrer Mehrzahl um [[Homosexuelle während der Zeit des Nationalsozialismus|homosexuelle Handlungen]] (der [[§ 175]] StGB war im Gefolge der [[Röhm-Morde|Röhm-Krise]] erst 1935 verschärft worden).<ref>Burkhard Jellonnek: ''Homosexuelle unter dem Hakenkreuz. Die Verfolgung von Homosexuellen im Dritten
 
^^ ok, jz habe ich immerhin eine Testdatei, aber darum gings mir nicht. Ich wollte sehen, wie du den Regex anwendest.
 
Also wenn du mir einreden willst, dass bei so vielen einzelnen splits, es schneller geht als mit einem Regex, dann baue ich glaube ich mal meinen eigenen Regex...^^. Das will ich nicht glauben (kann mich aber natürlich irren). Teste es gleich einfach mal.
 
also ich habe da oben mein code geschrieben #26. Ich lese zuerst die datei und benutze ich nur split, also kein Matcher, group wie bei euch.
Außerdem ich habe auch mit euer code probiert. Es ist leide langsamer. Ich denke es liegt an group. Matcher. find()

Es geht hier bitte nicht wer besser als wer. Wenn du bessere Lösung hat. Kannst du mir bitte schreiben. Es wäre mir viel helfen.
 
Java:
	public static void main(String[] args) {
	long start = System.currentTimeMillis();
	String text = "'''Sexueller Missbrauch in der römisch-katholischen Kirche''' ist ein Phänomen, das seit Mitte der neunziger Jahre weltweit größere öffentliche Aufmerksamkeit erhält. Berichtet wird dabei sowohl über Fälle von [[Sexueller Missbrauch|sexuellem Missbrauch]] insbesondere an [[Sexueller Missbrauch von Schutzbefohlenen|Schutzbefohlenen]] und Untergebenen durch [[Priester]], [[Ordensleute]] und angestellte [[Erzieher]] innerhalb der [[Römisch-katholische Kirche|römisch-katholischen Kirche]] als auch über den Umgang kirchlicher Stellen mit den Tätern und Opfern. == Einführung == Nach Skandalen in Irland und den USA wurden seit Anfang 2010 auch in Deutschland [[Sexualdelikt]]e in katholischen Einrichtungen in größerem Umfang bekannt. Zum großen Teil hatte keine [[Strafverfolgung]] der Täter durch [[Staatsanwaltschaft]] oder [[Polizei]] stattgefunden. Opfer erhielten keinen oder unzureichenden Schutz. Daher steht das Verhalten kirchlicher Institutionen in der Kritik, auch wenn diese Delikte von höchster kirchlicher Stelle wiederholt öffentlich verurteilt wurden und schwere Vergehen gegen Recht und Moral der römisch-katholischen Kirche darstellen. Juristisch werden [[Sexueller Missbrauch von Kindern]] und [[Sexueller Missbrauch von Jugendlichen]] durch die jeweilige gesetzliche Festlegung des [[Schutzalter]]s voneinander abgegrenzt. Zu den Formen zählen unmittelbar geschlechtliche Handlungen mit und ohne [[Geschlechtsverkehr]] und auch das Zeigen [[Pornographie|pornographischer]] Medien. Die Missbrauchshandlung kann sich über Jahre erstrecken. Opfer [[Sexueller Missbrauch|sexuellen Missbrauchs]] können auch hierarchisch Untergebene sein, etwa [[Nonne]]n und [[Katholisches Priesterseminar|Seminaristen]] oder im Rahmen des Beichtsakramentes [[Pönitent]]en. Eine weitere Gruppe von Opfern können hilfsbedürftige Menschen in Einrichtungen sein. Zu den in Frage kommenden Delikten zählt auch [[Vergewaltigung]]. Die Täter entstammen nicht nur der Gruppe der [[Klerus|Kleriker]], sondern auch der der [[Laie (Religion)|Laien]] wie zum Beispiel Lehrern und weiteres Personal, in Heimen auch Mitzöglinge. Bei der Diskussion des Hintergrunds werden allgemein [[Sexualität]], [[sexuelle Orientierung]] sowie wie Verdrängung von Sexualität und der [[Zölibat]] angesprochen, im engeren Rahmen auch * [[Pädophilie]] (seltener auch als „[[Pädophilie|Pädosexualität]]“ bezeichnet), * [[Paraphilie|Präferenzstörungen]] und * [[Ephebophilie]] (sexuelle Vorliebe für pubertierende Jungen). * Ersatzobjekttäter vergreifen sich an Ersatzobjekten (z.&nbsp;B. Opfern die nicht hinreichend Widerstand leisten können), die nicht ihrer eigentlichen [[Sexualpräferenz|sexuellen Präferenz]] entsprechen. Empirische Daten für Missbrauch durch katholische Geistliche oder andere Mitarbeiter der katholischen Kirche gibt es kaum; die vorhandenen Schätzungen aus verschiedenen Ländern kommen zu unterschiedlichen Ergebnissen, die besagen, dass zwischen 1 und 5 % der Kleriker durch Missbrauch aufgefallen sind. Manche gehen davon aus, dass überdurchschnittlich viele Kleriker pädophil veranlagt sind, andere hingegen, dass der Anteil unter dem Durchschnitt der Gesamtbevölkerung liegt. Die [[Dunkelfeld|Dunkelziffer]] wird bei Taten sexuellen Missbrauchs allgemein als sehr hoch eingeschätzt. == Entwicklung im deutschen Sprachraum == === Deutschland === ==== 19. Jahrhundert ==== Vorwürfe sexuellen Missbrauchs durch Geistliche und Ordensleute machen einen Großteil des [[Pfaffenspiegel]]s aus, eines in [[Deutschland]] weit verbreiteten antikatholischen [[Pamphlet]]s, das nach seinem Erscheinen 1845 bis ins 20. Jahrhundert hinein immer neue Auflagen erlebte.<ref>Hans Schleier, ''Geschichte der deutschen Kulturgeschichtsschreibung: Bd. 1: Vom Ende des 18. bis Ende des 19. Jahrhunderts'', Reprint, Spenner, Kamen 2002, S. 875–879.</ref> In der Tradition der europäischen [[Zeitalter der Aufklärung|Aufklärung]] bemüht sich der Verfasser [[Otto von Corvin]], die katholische Kirche als vernunftfeindlich und bigott zu entlarven. Zu diesem Zweck breitet er über lange Strecken die [[Topos (Geisteswissenschaft)|Topik]] des {{\"|geilen Pfaffen}}, der die intime Situation der [[Beichte]] sexuell ausnutze, wie sie etwa in zahlreichen [[Schwank|Schwänken]] und [[Mär]]en des [[Spätmittelalter]]s und der [[Frühe Neuzeit|Frühen Neuzeit]] immer wieder erzählt und variiert wurde.<ref>Hertha Busemann, ''Der Jesuit und seine Beichttochter Die Faszination eines Sittenskandals in drei Jahrhunderten'', Oldenburg 1987, S. 98–105</ref><ref>Ralph Tanner, ''Sex, Sünde, Seelenheil. Die Figur des Pfaffen in der Märenliteratur und ihr historischer Hintergrund'', Königshausen und Neumann, Würzburg 2005, S. 556 ff.</ref><ref>Tilmann Walter, ''Unkeuschheit und Werk der Liebe. Diskurse über Sexualität am Beginn der Neuzeit in Deutschland'', de Gruyter, Berlin und New York 1997, S. 172–185</ref> Anders als der [[Diskurs]] der frühneuzeitlichen Dichtung, in dem Pädokriminalität nicht vorkommt,<ref>Tilmann Walter, ''Unkeuschheit und Werk der Liebe. Diskurse über Sexualität am Beginn der Neuzeit in Deutschland'', de Gruyter, Berlin und New York 1997, S. 262</ref> ergeht sich Corvin auch in der Schilderung von angeblichen {{\"|schändlichen Verführungen, die unter Leitung der Mönche stehenden Knaben ausgesetzt sind, und ein jeder Vater wird daraus erkennen können, wie höchst gefährlich es für seine Kinder ist, wenn er diese in [[Klosterschule]]n unterrichten lässt.}}<ref>[[Otto von Corvin]]: ''Der Pfaffenspiegel. Historische Denkmale des christlichen Fanatismus.'' 43. Auflage, Rudolstadt, 1927, S. 267 ([Otto von Corvin: Pfaffenspiegel online]).</ref> Die Historikerin [[Irmtraud Götz von Olenhusen]] untersuchte in einer [[Sozialgeschichte|sozialhistorischen]] Arbeit von 1994 den [[Großherzogtum Baden|badischen]] Klerus im 19. Jahrhundert und kam dabei auch auf mehrere Fälle zu sprechen, in denen Priestern Vergewaltigung oder Unzucht mit Minderjährigen vorgeworfen wurde.<ref>Irmtraud Götz von Olenhusen: ''Klerus und abweichendes Verhalten. Zur Sozialgeschichte katholischer Priester im 19. Jahrhundert.'' Vandenhoeck und Rupprecht, Göttingen 1994, ISBN 3-525-35769-9, S.&nbsp;247–271 ([Klerus und abweichendes Verhalten - Google Bücher online]).</ref> ==== NS-Zeit ==== Tatsächliche oder imaginierte Fälle von sexuellem Missbrauch in der Kirche wurden zur [[Zeit des Nationalsozialismus]] zu antikatholischen [[Polemik]]en und juristischer Verfolgung genutzt. Die Verbreitung des [[Pfaffenspiegel]]s wurde vom Regime gefördert.<ref>Till Kössler: ''Zwischen Milieu und Markt. Die populäre Geschichtsschreibung der Arbeiterbewegung 1890–1933.'' In: Wolfgang Hardtwig und Erhard Schütz (Hrsg.): ''Geschichte für Leser. Populäre Geschichtsschreibung in Deutschland im 20. Jahrhundert'', Franz Steiner Verlag, Stuttgart 2005, S.&nbsp;277.</ref> In den Jahren 1936 und 1937 kam es zu einer Serie von rund 250 sogenannten {{\"|Sittlichkeitsprozessen}} gegen katholische Priester und [[Ordensmann|Ordensleute]].<ref>Auch zum Folgenden Hans Günter Hockerts: ''Die Sittlichkeitsprozesse gegen katholische Ordensangehörige und Priester 1936/1937. Eine Studie zur nationalsozialistischen Herrschaftstechnik und zum Kirchenkampf.'' Matthias-Grünewald-Verlag, Mainz 1971</ref> In den Prozessen ging es um sexuellen Missbrauch von Kindern, Unzucht mit Schutzbefohlenen und in ihrer Mehrzahl um [[Homosexuelle während der Zeit des Nationalsozialismus|homosexuelle Handlungen]] (der [[§ 175]] StGB war im Gefolge der [[Röhm-Morde|Röhm-Krise]] erst 1935 verschärft worden).<ref>Burkhard Jellonnek: ''Homosexuelle unter dem Hakenkreuz. Die Verfolgung von Homosexuellen im Dritten";
    Pattern pattern = Pattern.compile("\\[\\[(.*?)\\]\\]");
    Matcher matcher = pattern.matcher(text);
    while (matcher.find()){
    	System.out.println(matcher.group(1).split("\\|")[0]);
    }
    
    System.out.println("Benötigte Zeit (in ms) : "+(System.currentTimeMillis() - start));
	}
Code:
Benötigte Zeit (in ms) : 16

Deine Variante:
Java:
	public static void main(String[] args) {
		long start = System.currentTimeMillis();
		String text = "'''Sexueller Missbrauch in der römisch-katholischen Kirche''' ist ein Phänomen, das seit Mitte der neunziger Jahre weltweit größere öffentliche Aufmerksamkeit erhält. Berichtet wird dabei sowohl über Fälle von [[Sexueller Missbrauch|sexuellem Missbrauch]] insbesondere an [[Sexueller Missbrauch von Schutzbefohlenen|Schutzbefohlenen]] und Untergebenen durch [[Priester]], [[Ordensleute]] und angestellte [[Erzieher]] innerhalb der [[Römisch-katholische Kirche|römisch-katholischen Kirche]] als auch über den Umgang kirchlicher Stellen mit den Tätern und Opfern. == Einführung == Nach Skandalen in Irland und den USA wurden seit Anfang 2010 auch in Deutschland [[Sexualdelikt]]e in katholischen Einrichtungen in größerem Umfang bekannt. Zum großen Teil hatte keine [[Strafverfolgung]] der Täter durch [[Staatsanwaltschaft]] oder [[Polizei]] stattgefunden. Opfer erhielten keinen oder unzureichenden Schutz. Daher steht das Verhalten kirchlicher Institutionen in der Kritik, auch wenn diese Delikte von höchster kirchlicher Stelle wiederholt öffentlich verurteilt wurden und schwere Vergehen gegen Recht und Moral der römisch-katholischen Kirche darstellen. Juristisch werden [[Sexueller Missbrauch von Kindern]] und [[Sexueller Missbrauch von Jugendlichen]] durch die jeweilige gesetzliche Festlegung des [[Schutzalter]]s voneinander abgegrenzt. Zu den Formen zählen unmittelbar geschlechtliche Handlungen mit und ohne [[Geschlechtsverkehr]] und auch das Zeigen [[Pornographie|pornographischer]] Medien. Die Missbrauchshandlung kann sich über Jahre erstrecken. Opfer [[Sexueller Missbrauch|sexuellen Missbrauchs]] können auch hierarchisch Untergebene sein, etwa [[Nonne]]n und [[Katholisches Priesterseminar|Seminaristen]] oder im Rahmen des Beichtsakramentes [[Pönitent]]en. Eine weitere Gruppe von Opfern können hilfsbedürftige Menschen in Einrichtungen sein. Zu den in Frage kommenden Delikten zählt auch [[Vergewaltigung]]. Die Täter entstammen nicht nur der Gruppe der [[Klerus|Kleriker]], sondern auch der der [[Laie (Religion)|Laien]] wie zum Beispiel Lehrern und weiteres Personal, in Heimen auch Mitzöglinge. Bei der Diskussion des Hintergrunds werden allgemein [[Sexualität]], [[sexuelle Orientierung]] sowie wie Verdrängung von Sexualität und der [[Zölibat]] angesprochen, im engeren Rahmen auch * [[Pädophilie]] (seltener auch als „[[Pädophilie|Pädosexualität]]“ bezeichnet), * [[Paraphilie|Präferenzstörungen]] und * [[Ephebophilie]] (sexuelle Vorliebe für pubertierende Jungen). * Ersatzobjekttäter vergreifen sich an Ersatzobjekten (z.&nbsp;B. Opfern die nicht hinreichend Widerstand leisten können), die nicht ihrer eigentlichen [[Sexualpräferenz|sexuellen Präferenz]] entsprechen. Empirische Daten für Missbrauch durch katholische Geistliche oder andere Mitarbeiter der katholischen Kirche gibt es kaum; die vorhandenen Schätzungen aus verschiedenen Ländern kommen zu unterschiedlichen Ergebnissen, die besagen, dass zwischen 1 und 5 % der Kleriker durch Missbrauch aufgefallen sind. Manche gehen davon aus, dass überdurchschnittlich viele Kleriker pädophil veranlagt sind, andere hingegen, dass der Anteil unter dem Durchschnitt der Gesamtbevölkerung liegt. Die [[Dunkelfeld|Dunkelziffer]] wird bei Taten sexuellen Missbrauchs allgemein als sehr hoch eingeschätzt. == Entwicklung im deutschen Sprachraum == === Deutschland === ==== 19. Jahrhundert ==== Vorwürfe sexuellen Missbrauchs durch Geistliche und Ordensleute machen einen Großteil des [[Pfaffenspiegel]]s aus, eines in [[Deutschland]] weit verbreiteten antikatholischen [[Pamphlet]]s, das nach seinem Erscheinen 1845 bis ins 20. Jahrhundert hinein immer neue Auflagen erlebte.<ref>Hans Schleier, ''Geschichte der deutschen Kulturgeschichtsschreibung: Bd. 1: Vom Ende des 18. bis Ende des 19. Jahrhunderts'', Reprint, Spenner, Kamen 2002, S. 875–879.</ref> In der Tradition der europäischen [[Zeitalter der Aufklärung|Aufklärung]] bemüht sich der Verfasser [[Otto von Corvin]], die katholische Kirche als vernunftfeindlich und bigott zu entlarven. Zu diesem Zweck breitet er über lange Strecken die [[Topos (Geisteswissenschaft)|Topik]] des {{\"|geilen Pfaffen}}, der die intime Situation der [[Beichte]] sexuell ausnutze, wie sie etwa in zahlreichen [[Schwank|Schwänken]] und [[Mär]]en des [[Spätmittelalter]]s und der [[Frühe Neuzeit|Frühen Neuzeit]] immer wieder erzählt und variiert wurde.<ref>Hertha Busemann, ''Der Jesuit und seine Beichttochter Die Faszination eines Sittenskandals in drei Jahrhunderten'', Oldenburg 1987, S. 98–105</ref><ref>Ralph Tanner, ''Sex, Sünde, Seelenheil. Die Figur des Pfaffen in der Märenliteratur und ihr historischer Hintergrund'', Königshausen und Neumann, Würzburg 2005, S. 556 ff.</ref><ref>Tilmann Walter, ''Unkeuschheit und Werk der Liebe. Diskurse über Sexualität am Beginn der Neuzeit in Deutschland'', de Gruyter, Berlin und New York 1997, S. 172–185</ref> Anders als der [[Diskurs]] der frühneuzeitlichen Dichtung, in dem Pädokriminalität nicht vorkommt,<ref>Tilmann Walter, ''Unkeuschheit und Werk der Liebe. Diskurse über Sexualität am Beginn der Neuzeit in Deutschland'', de Gruyter, Berlin und New York 1997, S. 262</ref> ergeht sich Corvin auch in der Schilderung von angeblichen {{\"|schändlichen Verführungen, die unter Leitung der Mönche stehenden Knaben ausgesetzt sind, und ein jeder Vater wird daraus erkennen können, wie höchst gefährlich es für seine Kinder ist, wenn er diese in [[Klosterschule]]n unterrichten lässt.}}<ref>[[Otto von Corvin]]: ''Der Pfaffenspiegel. Historische Denkmale des christlichen Fanatismus.'' 43. Auflage, Rudolstadt, 1927, S. 267 ([Otto von Corvin: Pfaffenspiegel online]).</ref> Die Historikerin [[Irmtraud Götz von Olenhusen]] untersuchte in einer [[Sozialgeschichte|sozialhistorischen]] Arbeit von 1994 den [[Großherzogtum Baden|badischen]] Klerus im 19. Jahrhundert und kam dabei auch auf mehrere Fälle zu sprechen, in denen Priestern Vergewaltigung oder Unzucht mit Minderjährigen vorgeworfen wurde.<ref>Irmtraud Götz von Olenhusen: ''Klerus und abweichendes Verhalten. Zur Sozialgeschichte katholischer Priester im 19. Jahrhundert.'' Vandenhoeck und Rupprecht, Göttingen 1994, ISBN 3-525-35769-9, S.&nbsp;247–271 ([Klerus und abweichendes Verhalten - Google Bücher online]).</ref> ==== NS-Zeit ==== Tatsächliche oder imaginierte Fälle von sexuellem Missbrauch in der Kirche wurden zur [[Zeit des Nationalsozialismus]] zu antikatholischen [[Polemik]]en und juristischer Verfolgung genutzt. Die Verbreitung des [[Pfaffenspiegel]]s wurde vom Regime gefördert.<ref>Till Kössler: ''Zwischen Milieu und Markt. Die populäre Geschichtsschreibung der Arbeiterbewegung 1890–1933.'' In: Wolfgang Hardtwig und Erhard Schütz (Hrsg.): ''Geschichte für Leser. Populäre Geschichtsschreibung in Deutschland im 20. Jahrhundert'', Franz Steiner Verlag, Stuttgart 2005, S.&nbsp;277.</ref> In den Jahren 1936 und 1937 kam es zu einer Serie von rund 250 sogenannten {{\"|Sittlichkeitsprozessen}} gegen katholische Priester und [[Ordensmann|Ordensleute]].<ref>Auch zum Folgenden Hans Günter Hockerts: ''Die Sittlichkeitsprozesse gegen katholische Ordensangehörige und Priester 1936/1937. Eine Studie zur nationalsozialistischen Herrschaftstechnik und zum Kirchenkampf.'' Matthias-Grünewald-Verlag, Mainz 1971</ref> In den Prozessen ging es um sexuellen Missbrauch von Kindern, Unzucht mit Schutzbefohlenen und in ihrer Mehrzahl um [[Homosexuelle während der Zeit des Nationalsozialismus|homosexuelle Handlungen]] (der [[§ 175]] StGB war im Gefolge der [[Röhm-Morde|Röhm-Krise]] erst 1935 verschärft worden).<ref>Burkhard Jellonnek: ''Homosexuelle unter dem Hakenkreuz. Die Verfolgung von Homosexuellen im Dritten";
        long time1 = System.currentTimeMillis();
        for (int k = 0; k < 50000; k++) {
            String[] aus1 = text.split("\\[\\[");
            for (int i = 1; i < aus1.length; i++) {
                String[] aus2 = aus1[i].split("\\]\\]");
                String[] aus3 = aus2[0].split(":");
                if (aus3.length == 1) {
                    String[] aus4 = aus3[0].split("\\|");
                    //System.out.println(aus4[0]);
                }

            }
        }
        long time2 = System.currentTimeMillis();
        System.out.println(time2 - time1);

	}
manchmal:
Code:
Benötigte Zeit (in ms) : 31
manchmal auch:
Code:
Benötigte Zeit (in ms) : 16

Also erzähle mir dass das langsam ist, dann werde ich agressiv ^^

Dazu kommt noch, dass du die Anzahl deiner Durchläufe raten musst, was gar nicht gut ist
 
Zuletzt bearbeitet:
jo du hast recht. es geht schneller.
mit meinem Text(andere text full) deswegen 1500mal statt 50000(das war mit dem text von gestern) laufen
indexof:6,9s
deine Split:10,3s
meineversion Split:28,2s

und du muss ":" filtern :bae: aber danke dir trotzdem

es hängt naturlich von meinem rechner ab
 
Zuletzt bearbeitet:
ich hab zwischen 5-7 ms. (mit RySa's variante [die zufälligerweise fast 1:1 auch meine war :lol:])
 
liegt vielleicht bei mir an dem "Schrottrechner" jedenfalls, auch wenn das mit dem Regex 10 sec länger dauern würde (beim ganzen Text), würd ich es trotzdem bevorziehen, wegen der Sicherheit, dass sich da keine Fehler einschleichen. Naja, eigentlich ist das Thema erledigt ^^ Markiere es bitte auch als erledigt.

EDIT: Hehe, also das einzige was ich glaube ich verändert habe, war (wie du es mir empfohlen hast) dass ich die () eingebunden habe, so dass ich die [ ] nicht mehr replacen muss 😛 Ist aber glaube ich in diesem Fall egal (also ich verdiene daran nichts ^^).
 
Zuletzt bearbeitet:

Zurück
Oben