Hallo Leute,
ich habe aus einer anderen Anwendung Strings vorliegen in folgendem Format:
{Text A}<Text B>(Text C)[Text D]
Was ich brauche sind die Strings zwischen den jeweiligen Klammern.
Sie Strings zwischen den Klammern enthalten KEINE anderen andersartigen Klammern.
Könnte mir jemand mit dem Format-String helfen? Ich bin für die diese RegEx Geschrichten nicht gemacht
Danke
Stefan
Hallo Stefan,
erstmal solltest du vielleicht "Muster suchen" statt "In String suchen" verwenden, um nach RegEx zu suchen.
Aber wie du auch habe ich so meine Probleme mit RegEx, insbesondere, wenn schon das
Beispiel aus der LabVIEW-Hilfe ("The longest string within parentheses but not containing any parentheses within it") nicht funktioniert und trotzdem den String mitsamt Klammern ausgibt...
Oder ist dies etwa ein weiterer Übersetzungsfehler in der deutschen Hilfe (die da sagt "Die längste Zeichenfolge innerhalb der runden Klammern, jedoch ohne die Klammern")?
Hallo Gerd,
hast natürlich Recht mit "Muster suche", sorry. Habe mir das nochmal angeschaut
und hatte das sogar bereits vorher gelesen. Aber bisher waren für mich "Klammern"
mathematisch betrachtet immer "brackets" und nicht "parenthesis". Daher hatte
ich das nicht als solches erkannt, kannte das Wort noch nicht.
Mit Mustersuche klappt, man bekommt immer den jeweiligen Teil inkl. der Klammern,
also {Text A} etc. Da ich hier dann immer noch die Klammern wegschneiden muss,
habe ich mich für eine andere Lösung entschieden. (Anhang dabei)
Mag nicht die eleganteste Methode sein, aber funktioniert.
Danke
Stefan
(25.07.2013 12:29 )Jopi schrieb: [ -> ]Versuch mal das:
Hi Jopi,
cool, funktioniert einwandfrei und viel eleganter als meine Variante.
Danke
Das resultierende Stringarray hat einen leeren String als letztes Element. Das ist unschön.
Da ich gerade mit Strings herummfummle jetzt noch diese Lösung:
[
attachment=45603]
Der Eingabestring muss aber komplett sein, also immer ein Text zwischen Klammerauf und Klammerzu (Welche ist egal).
Viel Erfolg, Johannes
Hallo Jopi,
das ist gerne das Problem bei fußgesteuerten Schleifen. Ob deine Variante bei Eingabe von großen Texten aber performant ist, wage ich zu bezweifeln. Ich könnte mir vorstellen, dass die Prüfung des letzten Arrayelements auf "Leerigkeit" im Nachgang effizienter ist oder man nimmt die Ausgabe des Strings an den Autoindextunnel als Abbruch, wenn dieser leer ist und löscht grundsätzlich das letzte Arrayelement.
Gruß, Marko
Diese verschieden Klammern
{Text A}<Text B>(Text C)[Text D]
wären doch total überflüssig - oder durch eine einzige Klammertype ersetzbar -, wenn diese Texte immer in dieser Reihenfolge erscheinen, womöglich noch unmittelbar aufeinanderfolgend. Ich gehe also davon aus, dass der Programmierer der das so gemacht hat nicht ganz blöd war, und dass er es so gemacht hat, weil diese 4 Texte in beliebiger Reihenfolge irgendwie im String auftauchen können. Und man möchte nach dem Finden der 4 Texte auch wissen, welcher Text in welchen Klammern stand.
Das Progrämmchen sähe dann so aus:
[
attachment=45606]
Hallo alle zusammen,
möchte fragen, wie lautet der String-format für neue Zeile? Bei mir funktioniert es mit \n nicht????
Danke schön für Eure Hilfe,
Margi
bei mir aber nicht, habe ich hier irgendwas vergessen zu ändern?