- Beiträge: 93
Spalten vergleichen - falsches Ergebnis
- fertac
- Autor
- Offline
- Benutzer
Weniger
Mehr
12 Jahre 4 Monate her #1031
von fertac
Spalten vergleichen - falsches Ergebnis wurde erstellt von fertac
Hallo Herr Stark,
noch ein dickes Lob an Sie. FlowHeater ist genial!
Folgendes ist uns aufgefallen:
Wenn wir aus 2 csv Dateien jeweils eine Spalte vergleichen bekommen wir ein unrichtiges Ergebnis.
Datei1 Spalte1: 214FH
Datei2 Spalte1: 214FHD
Ergebnis: Auch bei Datei2 Spalte1: 214FHD erkennt er nur den Inhalt von Datei1 Spalte1: 214FH - also nur 214FH
hier das Script was verwendet wird:
string [] csv = null;
public object DoWork()
{
string sRet = null;
// CSV replace daten einlesen
if (csv == null)
csv = File.ReadAllLines("XXXXX.csv", Encoding.Default);
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[4], StringComparison.CurrentCultureIgnoreCase) >= 0)
{
sRet = "Inhalt ist gleich";
break;
}
}
if (sRet == null)
sRet = "x"; // hier ggf. den Wert ändern falls nichts zutreffend!
return sRet;
}
Wie können wir die Routine zwingen wirklich den ganzen Text (100%) zu vergleichen und nicht nur die ersten Gemeinsamkeiten.
mfg
fertac
noch ein dickes Lob an Sie. FlowHeater ist genial!
Folgendes ist uns aufgefallen:
Wenn wir aus 2 csv Dateien jeweils eine Spalte vergleichen bekommen wir ein unrichtiges Ergebnis.
Datei1 Spalte1: 214FH
Datei2 Spalte1: 214FHD
Ergebnis: Auch bei Datei2 Spalte1: 214FHD erkennt er nur den Inhalt von Datei1 Spalte1: 214FH - also nur 214FH
hier das Script was verwendet wird:
string [] csv = null;
public object DoWork()
{
string sRet = null;
// CSV replace daten einlesen
if (csv == null)
csv = File.ReadAllLines("XXXXX.csv", Encoding.Default);
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[4], StringComparison.CurrentCultureIgnoreCase) >= 0)
{
sRet = "Inhalt ist gleich";
break;
}
}
if (sRet == null)
sRet = "x"; // hier ggf. den Wert ändern falls nichts zutreffend!
return sRet;
}
Wie können wir die Routine zwingen wirklich den ganzen Text (100%) zu vergleichen und nicht nur die ersten Gemeinsamkeiten.
mfg
fertac
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 4 Monate her #1032
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: Spalten vergleichen - falsches Ergebnis
Hallo Herr Kappen,
Sie müssen lediglich die Bedingung austauschen.
Anstatt
if (sIN.IndexOf(values[4], StringComparison.CurrentCultureIgnoreCase) >= 0)
müssen Sie folgende Bedingung verwenden.
if (sIN == values[4])
PS: Dieses Skript ist nicht mehr notwendig. Der String Replace Heater kann mittlerweile CSV Listenersetzungen und wesentlich mehr. Hier im Forum gibt es bereits einige Beispiel dazu.
Sie müssen lediglich die Bedingung austauschen.
Anstatt
if (sIN.IndexOf(values[4], StringComparison.CurrentCultureIgnoreCase) >= 0)
müssen Sie folgende Bedingung verwenden.
if (sIN == values[4])
PS: Dieses Skript ist nicht mehr notwendig. Der String Replace Heater kann mittlerweile CSV Listenersetzungen und wesentlich mehr. Hier im Forum gibt es bereits einige Beispiel dazu.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- fertac
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 93
12 Jahre 4 Monate her #1033
von fertac
fertac antwortete auf Aw: Spalten vergleichen - falsches Ergebnis
Hallo Herr Stark,
danke für die schnelle Antwort. Ja sie haben Recht. Wir werden in Zukunft den Replace Heater für solche Aufgaben verwenden.
Beste Grüße
fertac
danke für die schnelle Antwort. Ja sie haben Recht. Wir werden in Zukunft den Replace Heater für solche Aufgaben verwenden.
Beste Grüße
fertac
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.259 Sekunden