Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum TextFile Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: Codepage konvertieren 1 / 2 , Verarbeitung von CSV Kopf- und Fußzeilen , Import und Export von vCard Textdateien
  • Seite:
  • 1

THEMA:

Zeileninhalt in definierte Blöcke teilen 1 Monat 2 Wochen her #4413

  • Wolfgang Kreutzer
  • Wolfgang Kreutzers Avatar Autor
  • Offline
  • Beiträge: 3
Hallo & schönen Aband!

Nachdem ich bei meiner Suche hier im Forum (noch) nicht fündig geworden bin, möchte ich hier mein Problem schildern und auf eure Unterstützung hoffen:

Ich erhalte regelmäßig Dateien mit unterschiedlicher Zeilenanzahl- und Länge, wobei ich den Inhalt der Zeilen in definierte Blöcke aufteilen soll.
Der Aufbau ist dabei grundsätzlich so:
[leerzeichenloser_String_1]<space>[leerzeichenloser_String_2]<space>[leerzeichenloser_String_3]<space>[String_der_auch_beliebig_viele_Leerzeichen_enthalten_kann]

Die Länge der einzelnen Strings ist variabel, sonst hätte ich den Heater SubString genommen, für den aber die Länge des zu extrahierenden Teilstrings bekannt sein muss.

Daher habe ich es mal mit dem Heater Split versucht, der mir die ersten 3 (leerzeichenlosen) Strings auch anstandslos ausgibt. Der letzte Teil der Zeile wird aber leider aufgrund der enthaltenen Leerzeichen ebenfalls zerstückelt - den hätte ich aber gerne als einen zusammenhängenden 4. String ausgegeben - so frei nach dem Motto "gib mir alles nach dem 3. Leerzeichen aus". Scheinbar funktioniert Split aber nicht so (oder ich hab's noch nicht richtig verstanden).

Wie könnte eine Lösung mit den vorhandenen Bordmitteln aussehen oder geht das nur mit einem Skript?

Danke schon vorab für die Unte

 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Zeileninhalt in definierte Blöcke teilen 1 Monat 2 Wochen her #4414

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1703
Hallo Herr Kreutzer,

bei der Erstellung eines Beispiels dafür, ist mir aufgefallen, dass der SubString Heater keine FlowHeater Parameter für den „Start Index“ sowie für die Länge zulässt. So ist das aktuell nur mit einem zusätzlichen .NET Script Heater und untenstehenden C# Skript durchführbar.

Das Skript kann einfach in den .NET Script Heater kopiert werden und liefert dynamisch die Zeichenfolge nach dem dritten Leerzeichen zurück. Im Anhang finden Sie ein kleines Beispiel dazu.

PS: Der SubString Heater wird mit der nächsten Version angepasst, so dass hier dynamisch auch FlowHeater Parameter verwendet werden können und das ganze ist ohne Skript durchführbar.

C# Skript
public object DoWork()
{
    if (InValues.Length != 1)
        throw new Exception("1 Eingangsparameter erwartet!");

    string input = (String)InValues[0].GetString();

    // Erstes Leerzeichen suchen
    int pos = input.IndexOf(" ");

    // Zweites Leerzeichen suchen
    pos = input.IndexOf(" ", pos + 1);

    // Neu Zeichenfolge ab dritten Leerteichen zurückgeben
    return input.Substring(pos + 1);
}


 

Dateianhang:

Dateiname: spalten-dy...ilen.zip
Dateigröße:7 KB


 
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.

Letzte Änderung: von FlowHeater-Team.

Zeileninhalt in definierte Blöcke teilen 1 Monat 2 Wochen her #4415

  • Wolfgang Kreutzer
  • Wolfgang Kreutzers Avatar Autor
  • Offline
  • Beiträge: 3
Vielen lieben Dank für die rasche Antwort und den Beispielcode!

Es hat genauso funktioniert, wie ich es mir vorgestellt habe ...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Zeileninhalt in definierte Blöcke teilen 2 Wochen 7 Stunden her #4429

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1703
Hallo Herr Kreutzer,

Mit der aktuellen Beta Version wurde SubString Heater dementsprechend angepasst so dass dieser nun auch FlowHeater Parameter unterstützt. Im Anhang finden Sie auch ein angepasstes Beispiel dazu.

Die aktuelle Beta Version können Sie über folgenden Link herunterladen: Download Beta Version


 

Dateianhang:

Dateiname: spalten-dy...en-2.zip
Dateigröße:3 KB

 
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.

Letzte Änderung: von FlowHeater-Team.

Zeileninhalt in definierte Blöcke teilen 3 Tage 11 Stunden her #4432

  • Wolfgang Kreutzer
  • Wolfgang Kreutzers Avatar Autor
  • Offline
  • Beiträge: 3
Vielen Dank

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
Ladezeit der Seite: 0.248 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2022 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en