- Beiträge: 93
Bestimmte Zeichenkette im string finden
- fertac
- Autor
- Offline
- Benutzer
Weniger
Mehr
13 Jahre 5 Monate her #433
von fertac
Bestimmte Zeichenkette im string finden wurde erstellt von fertac
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
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
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
13 Jahre 5 Monate her #434
von FlowHeater-Team
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.
FlowHeater-Team antwortete auf Aw: Bestimmte Zeichenkette im string finden
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.
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 wurde nicht gefunden.
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.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- fertac
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 93
13 Jahre 5 Monate her #436
von fertac
fertac antwortete auf Aw: Bestimmte Zeichenkette im string finden
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
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
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
13 Jahre 5 Monate her #437
von FlowHeater-Team
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.
FlowHeater-Team antwortete auf Aw: Bestimmte Zeichenkette im string finden
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.
Das Beispiel wurde leicht modifiziert, siehe Anlage "replace_csv.zip".
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.
- Wert der CSV Datei wird im übergebenen String gesucht
- Wert der CSV Datei wird zurückgegeben falls der Wert gefunden wurde
Das Beispiel wurde leicht modifiziert, siehe Anlage "replace_csv.zip".
Code:
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 wurde nicht gefunden.
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.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- fertac
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 93
13 Jahre 5 Monate her #439
von fertac
fertac antwortete auf Aw: Bestimmte Zeichenkette im string finden
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
super die Script-Lösung. Haben es gleich umgesetzt.
Funktioniert!!
Danke für den tollen Support. Werde FlowHeater weiter empfehlen.
Gruß
fertac
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.281 Sekunden