- Beiträge: 6
NEWLINE durch "\n" ersetzen
- J. Kober
- Autor
- Offline
- Benutzer
Weniger
Mehr
8 Jahre 1 Monat her - 8 Jahre 1 Monat her #2875
von J. Kober
NEWLINE durch "\n" ersetzen wurde erstellt von J. Kober
Guten Abend,
besteht per "Replace" eine Möglichkeit in einem Text, jeden Zeilenwechsel durch einen "\n"-Character zu ersetzen?
Es kann zwar "NEWLINE" gesucht werden, jedoch habe ich bisher keine Option gefunden, um das Steuerzeichen einzufügen.
Danke und Gruß
besteht per "Replace" eine Möglichkeit in einem Text, jeden Zeilenwechsel durch einen "\n"-Character zu ersetzen?
Es kann zwar "NEWLINE" gesucht werden, jedoch habe ich bisher keine Option gefunden, um das Steuerzeichen einzufügen.
Danke und Gruß
Letzte Änderung: 8 Jahre 1 Monat her von J. Kober.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 1 Monat her - 8 Jahre 1 Monat her #2876
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 NEWLINE durch "\n" ersetzen
Hallo Herr Kober,
ich verstehe nicht ganz was Sie tun möchten :unsure:
Mit der -<NEWLINE>- Konstante im String Replace Heater können Sie nach Zeilenumbrüchen suchen bzw. Zeichen durch Zeilenumbrüche ersetzen lassen, siehe Screenshot,
Mit der Konstante -<NEWLINE>- in der String Replace Suche wird „\n“ (= MAC, UNIX, Linux), „\r“ (= kommt noch von früher) bzw. „\r\n“ (= Windows Standard) als Zeilenumbruch erkannt. Wenn Sie die Konstante -<NEWLINE>- auf der Ersetzen Seite verwenden wird immer „\r\n“ verwendet.
Möchten Sie einen Standard Windows Zeilenumbruch („\r\n“ bzw. 0x0D0A) durch nur („\n“ bzw. 0x0A) ersetzen? Das funktioniert so leider nicht mit dem String Replace Heater , da er im Ersetzen Modus wie oben beschrieben immer einen Windows Zeilenumbruch verwendet, also „\r\n“ bzw. 0x0D0A.
Wenn Sie das durchführen möchten benötigen Sie den .NET Script Heater und folgendes Skript. Zur Verwendung einen .NET Script Heater auf den Designer ziehen über einen Doppelklick die Eigenschaften öffnen und das Default Skript mit diesem ersetzen.
C# Script
ich verstehe nicht ganz was Sie tun möchten :unsure:
Mit der -<NEWLINE>- Konstante im String Replace Heater können Sie nach Zeilenumbrüchen suchen bzw. Zeichen durch Zeilenumbrüche ersetzen lassen, siehe Screenshot,
Mit der Konstante -<NEWLINE>- in der String Replace Suche wird „\n“ (= MAC, UNIX, Linux), „\r“ (= kommt noch von früher) bzw. „\r\n“ (= Windows Standard) als Zeilenumbruch erkannt. Wenn Sie die Konstante -<NEWLINE>- auf der Ersetzen Seite verwenden wird immer „\r\n“ verwendet.
Möchten Sie einen Standard Windows Zeilenumbruch („\r\n“ bzw. 0x0D0A) durch nur („\n“ bzw. 0x0A) ersetzen? Das funktioniert so leider nicht mit dem String Replace Heater , da er im Ersetzen Modus wie oben beschrieben immer einen Windows Zeilenumbruch verwendet, also „\r\n“ bzw. 0x0D0A.
Wenn Sie das durchführen möchten benötigen Sie den .NET Script Heater und folgendes Skript. Zur Verwendung einen .NET Script Heater auf den Designer ziehen über einen Doppelklick die Eigenschaften öffnen und das Default Skript mit diesem ersetzen.
C# Script
Code:
public object DoWork()
{
if (InValues.Length != 1)
throw new Exception("Ein Eingangsparameter erwartet!");
// Den ersten Eingangsparameter holen
string sIN = (string)InValues[0].GetString();
// Standard Windows Zeilenumbruch 0x0D0A (=\r\n) mit 0x0A (=\n) ersetzen
return sIN.Replace("\r\n", "\n");
}
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:
Letzte Änderung: 8 Jahre 1 Monat her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- J. Kober
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 6
8 Jahre 1 Monat her #2878
von J. Kober
J. Kober antwortete auf NEWLINE durch "\n" ersetzen
Hallo Herr Stark,
danke für Ihre Antwort.
Leider ist das Ergebnis noch nicht so, wie unsere Anforderung an das Resultat.
Ich versuche eine genauere Beschreibung und hänge zur Verdeutlichung zwei Screenshots mit an:
Mit den jetzigen Einstellungen erhalten wir „echte Zeilenwechsel“ in der erzeugten CSV (Screenshot „ist“). Diese sollen jedoch nur bei jedem neuen Datensatz enthalten sein.
Für alle anderen „Textumbrüche“ haben wir in der uns vorliegenden Musterdatei ein Steuerzeichen (Screenshot „soll“), welches keinen Zeilenwechsel in der CSV verursacht, wenn sie in einem Editor betrachtet wird. Beim Öffnen in z.B. einem Office-Programm wird der Text aber an diesen Stellen umbrochen.
Ich hoffe, dies erläutert die Thematik etwas genauer und dass es auch hierfür einen Lösungsansatz gibt.
Ein schönes WE
danke für Ihre Antwort.
Leider ist das Ergebnis noch nicht so, wie unsere Anforderung an das Resultat.
Ich versuche eine genauere Beschreibung und hänge zur Verdeutlichung zwei Screenshots mit an:
Mit den jetzigen Einstellungen erhalten wir „echte Zeilenwechsel“ in der erzeugten CSV (Screenshot „ist“). Diese sollen jedoch nur bei jedem neuen Datensatz enthalten sein.
Für alle anderen „Textumbrüche“ haben wir in der uns vorliegenden Musterdatei ein Steuerzeichen (Screenshot „soll“), welches keinen Zeilenwechsel in der CSV verursacht, wenn sie in einem Editor betrachtet wird. Beim Öffnen in z.B. einem Office-Programm wird der Text aber an diesen Stellen umbrochen.
Ich hoffe, dies erläutert die Thematik etwas genauer und dass es auch hierfür einen Lösungsansatz gibt.
Ein schönes WE
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- J. Kober
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 6
8 Jahre 1 Monat her - 8 Jahre 1 Monat her #2879
von J. Kober
J. Kober antwortete auf NEWLINE durch "\n" ersetzen
Hallo Herr Stark,
Lösung ist gefunden:
Wenn man nicht "\n", sondern stattdessen "\r" verwendet, wird das gewünschte Resultat erzielt.
Somit statt der Zeile
return sIN.Replace("\r\n", "\n");
entsprechend
return sIN.Replace("\r\n", "\r");
einfügen.
Nochmals schönes WE
Lösung ist gefunden:
Wenn man nicht "\n", sondern stattdessen "\r" verwendet, wird das gewünschte Resultat erzielt.
Somit statt der Zeile
return sIN.Replace("\r\n", "\n");
entsprechend
return sIN.Replace("\r\n", "\r");
einfügen.
Nochmals schönes WE
Letzte Änderung: 8 Jahre 1 Monat her von J. Kober.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.285 Sekunden