Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im Wünsche und Anregungs Forum

Vermissen Sie Funktionen? Hier können Sie Wünsche und Anregungen äußern aber auch Lob und Kritik loswerden.

THEMA: Bestimmte Zeichenkette im string finden

Bestimmte Zeichenkette im string finden 5 Jahre 6 Monate her #433

  • fertac
  • fertacs Avatar
  • Offline
  • Senior Member
  • Beiträge: 49
Hallo,
haben gerade die Lizenz erworben und sind begeistert über die Möglichkeiten von FlowHeater.

Möchten gerne eine bestimmte Zeichenkette (z.B. Sony) aus einem langen string erkennen und dann (z.B. Technik) an die write Seite geben.

Vermute es geht nur über Script.
So eine case Anweisung kommt dem wohl schon nahe oder liege ich da falsch?

case "Sony": ret = "Technik"; break;

Gruß
fertac :)
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Bestimmte Zeichenkette im string finden 5 Jahre 6 Monate her #434

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Hallo Herr Kappen,

Wenn es nicht zu viele Werte sind die sie im String Suchen möchten können Sie dafür den If-Then-Else Heater verwenden.

Ziehen Sie einen, oder auch mehrere If-Then-Else Heater, auf den Designer. Verbinden Sie das Feld mit der Zeichenfolge im String das Sie prüfen möchten. Über eine Doppelklick auf den If-Then-Else Heater öffnen Sie den Konfigurationsdialog. Hier aktivieren Sie die Optionen "Datentyp ändern -> auf String" sowie "Groß/Kleinschreibung ignorieren". Als Bedingung verwenden Sie den InString Operator "**" und geben Ihre Bedingung z.B. Sony ein.

Dann benötigen Sie noch einen X-Value Heater für den statischen Wert "Technik". Ziehen Sie den Heater auf den Designer und Verbinden Ihn mit dem If-Then-Else Heater den sie gerade konfiguriert haben. Dieser Wert, den Sie eingegeben haben, wird nun vom If-Then-Else zurückgegeben wenn die Teilzeichenfolgen im String gefunden wurde. Mit dieser Technik können Sie auch mehrere Bedingungen / Werte vergleichen.

Zur Veranschaulichung habe ich Ihnen ein kleines Beispiel (s. Anlage if-then-else-if-instring.zip) erstellt. Im Beispiel habe ich zusätzlich noch eine Art ElseIf verwendet. Wenn keine der angegebenen Werte gefunden wurde wird "Sonstiges" in das Feld geschrieben. Schauen Sie sich dazu den If-Then-Else Heater nach dem String Append Heater an.

Anhang if_then_else_if_instring.zip nicht gefunden

Anhang:
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Bestimmte Zeichenkette im string finden 5 Jahre 6 Monate her #436

  • fertac
  • fertacs Avatar
  • Offline
  • Senior Member
  • Beiträge: 49
Hallo Herr Stark,

danke für die schnelle Lösung.

Habe 60 -100 Begriffe die ich aus unterschiedlichen strings filtern möchte.

Gibt es da auch eine script-Lösung? :dry:

Gruß
fertac
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Bestimmte Zeichenkette im string finden 5 Jahre 6 Monate her #437

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Hallo Herr Kappen,

bei so vielen Werten macht ein Skript natürlich Sinn :)

Hier ein kleines Skript, das einmalig beim Start eine CSV Datei "replace.csv" einliest und dann die Werte mit dem Übergebenen String vergleicht.
  1. Wert der CSV Datei wird im übergebenen String gesucht
  2. Wert der CSV Datei wird zurückgegeben falls der Wert gefunden wurde
Sie müssen lediglich die CSV Datei "replace.csv" mit den benötigten Werten bestücken.

Das Beispiel wurde leicht modifiziert, siehe Anlage "replace_csv.zip".
string [] csv = null;

public object DoWork()
{
  string sRet = null;

  // CSV replace daten einlesen
  if (csv == null)
    csv = File.ReadAllLines("replace.csv");

  string sIN = (String)InValues[0].GetString();
  if (sIN == null)
    return null;

  // Über alle Zeilen der replace.csv Datei lesen
  foreach(string line in csv)
  {
    char [] trennzeichen = { ';' }; //
    string [] values = line.Split(trennzeichen);
    
    // kommt der 1. Wert der CSV Datei im IN Parameter vor,
    // dann den 2. Wert der CSV zurückgeben.
    if (sIN.IndexOf(values[0], StringComparison.CurrentCultureIgnoreCase) >= 0)
    {
      sRet = values[1];
      break;
    }
  }

  if (sRet == null)
    sRet = "Sonstiges"; // hier ggf. den Wert ändern falls nichts zutreffend!
  
  return sRet;
}

Anhang replace_csv.zip nicht gefunden

Anhang:
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Bestimmte Zeichenkette im string finden 5 Jahre 6 Monate her #439

  • fertac
  • fertacs Avatar
  • Offline
  • Senior Member
  • Beiträge: 49
Hallo Herr Stark,

super die Script-Lösung. Haben es gleich umgesetzt.
Funktioniert!!

Danke für den tollen Support. Werde FlowHeater weiter empfehlen.

Gruß
fertac
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.085 Sekunden