- Beiträge: 93
Strings mit gleichen Klammerwerten aus Text lesen
- fertac
- Autor
- Offline
- Benutzer
Weniger
Mehr
13 Jahre 4 Monate her #509
von fertac
Strings mit gleichen Klammerwerten aus Text lesen wurde erstellt von fertac
Hallo Herr Stark,
wir benötigen nochmal ihre Hilfe.
Wir lesen von der Readseite einen langen Text ein und möchten diesen über den ScriptHeater bearbeiten.
Beispiel:
...<ul><li>Werkzeug</li></ul>... ...<ul><li>Lampen/li></ul>... ...<ul><li>Kabel</li></ul>...u.s.w.
Die Texte sind unterschiedlich lang und haben beliebig viele <ul><li>Werkzeug</li></ul>.
Aufgabe: Wenn ein Wert zwischen <ul><li> und </li></ul> steht soll der Wert z.B. Werkzeug erfasst werden und mit einem anderen Klammerwert in einen ganz neuen Text geschrieben werden (nicht ersetzen).
z.B so: <p class=MsoNormal>Werkzeug</p>
Die neuen Klammerwerte sind hier:
1. <p class=MsoNormal>
2. </p>
Der String <p class=MsoNormal>Werkzeug</p> soll dann auf die Readseite in die 1. Zeile des neuen Textes u.s.w.
Neuer Text auf der Readseite:
<p class=MsoNormal>Werkzeug</p>
<p class=MsoNormal>Lampen</p>
<p class=MsoNormal>Kabel</p>
Die Schwierigkeit ist hier das die Klammerwerte immer wieder gleich sind und das sie Zeile für Zeile in einem Text eingetragen werden sollen.
Erst wenn der ganze Text durchgearbeitet worden ist soll der nächte Datensatz mit einem neuen Text eingelesen werden.
Danke
fertac :unsure:
wir benötigen nochmal ihre Hilfe.
Wir lesen von der Readseite einen langen Text ein und möchten diesen über den ScriptHeater bearbeiten.
Beispiel:
...<ul><li>Werkzeug</li></ul>... ...<ul><li>Lampen/li></ul>... ...<ul><li>Kabel</li></ul>...u.s.w.
Die Texte sind unterschiedlich lang und haben beliebig viele <ul><li>Werkzeug</li></ul>.
Aufgabe: Wenn ein Wert zwischen <ul><li> und </li></ul> steht soll der Wert z.B. Werkzeug erfasst werden und mit einem anderen Klammerwert in einen ganz neuen Text geschrieben werden (nicht ersetzen).
z.B so: <p class=MsoNormal>Werkzeug</p>
Die neuen Klammerwerte sind hier:
1. <p class=MsoNormal>
2. </p>
Der String <p class=MsoNormal>Werkzeug</p> soll dann auf die Readseite in die 1. Zeile des neuen Textes u.s.w.
Neuer Text auf der Readseite:
<p class=MsoNormal>Werkzeug</p>
<p class=MsoNormal>Lampen</p>
<p class=MsoNormal>Kabel</p>
Die Schwierigkeit ist hier das die Klammerwerte immer wieder gleich sind und das sie Zeile für Zeile in einem Text eingetragen werden sollen.
Erst wenn der ganze Text durchgearbeitet worden ist soll der nächte Datensatz mit einem neuen Text eingelesen werden.
Danke
fertac :unsure:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
13 Jahre 4 Monate her #510
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: Strings mit gleichen Klammerwerten aus Text lesen
Das sollte eigentlich mit dem
String Replace Heater
funktionieren. Tragen Sie hier in der CSV Ersetzungsliste folgende Werte ein:
<ul><li>;<p class=MsoNormal>
</li></ul>;</p>
Die Option "Listverarbeitung mit ersten Treffer abbrechen" müssen Sie noch deaktivieren.
Ein ähnliches Beispiel finden Sie hier: Zeilen zu Spalten (Kreuztabellenabfrage)
<ul><li>;<p class=MsoNormal>
</li></ul>;</p>
Die Option "Listverarbeitung mit ersten Treffer abbrechen" müssen Sie noch deaktivieren.
Ein ähnliches Beispiel finden Sie hier: Zeilen zu Spalten (Kreuztabellenabfrage)
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 4 Monate her #511
von fertac
fertac antwortete auf Aw: Strings mit gleichen Klammerwerten aus Text lesen
Hallo Herr Stark,
mit dieser Funktion String Replace Heater kann man Werte im Text austauschen. Ja das ist ein Teil der Aufgabe.
Aber in jedem eingelesenen Text stehen ca. 16.000 Zeichen.
ca. 150 mal ...<ul><li>Werkzeug</li></ul>... (natürlich nicht immer der Wert Werkzeug).
Im ausgegebenen Text der Readseite sollen nur die ausgeschnittenen Werte in der eingelesenen Reihenfolge stehen:
<p class=MsoNormal>Werkzeug</p>
<p class=MsoNormal>Lampen</p>
<p class=MsoNormal>Kabel</p>
...
Ein Lösung mit VB Script wäre toll.
Danke
fertac
mit dieser Funktion String Replace Heater kann man Werte im Text austauschen. Ja das ist ein Teil der Aufgabe.
Aber in jedem eingelesenen Text stehen ca. 16.000 Zeichen.
ca. 150 mal ...<ul><li>Werkzeug</li></ul>... (natürlich nicht immer der Wert Werkzeug).
Im ausgegebenen Text der Readseite sollen nur die ausgeschnittenen Werte in der eingelesenen Reihenfolge stehen:
<p class=MsoNormal>Werkzeug</p>
<p class=MsoNormal>Lampen</p>
<p class=MsoNormal>Kabel</p>
...
Ein Lösung mit VB Script wäre toll.
Danke
fertac
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
13 Jahre 4 Monate her #512
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: Strings mit gleichen Klammerwerten aus Text lesen
Hier ein C# Skript das die Daten extrahiert. Im Skript sind Kommentare wo Sie evtl. Anpassungen vornehmen können.
Falls Sie jeden Wert in eine Separate Zeile exportieren möchten müssen Sie zwei Zeilen im Skript leicht modifizieren, siehe Kommentar im Skript.
Achtung: In diesem Fall macht es nur Sinn wenn Ihre (CSV) Exportdatei nur eine Spalte enthält, ansonsten ist der Output verschoben! Falls Sie weitere Werte/Spalten exportieren möchten kann das theoretisch über den GroupOut Heater sowie weitere Skripts durchgeführt werden. Die Durchführung ist aber sehr Zeitaufwendig und kann nicht mehr im Rahmen des Supports durchgeführt werden.
Falls Sie jeden Wert in eine Separate Zeile exportieren möchten müssen Sie zwei Zeilen im Skript leicht modifizieren, siehe Kommentar im Skript.
Achtung: In diesem Fall macht es nur Sinn wenn Ihre (CSV) Exportdatei nur eine Spalte enthält, ansonsten ist der Output verschoben! Falls Sie weitere Werte/Spalten exportieren möchten kann das theoretisch über den GroupOut Heater sowie weitere Skripts durchgeführt werden. Die Durchführung ist aber sehr Zeitaufwendig und kann nicht mehr im Rahmen des Supports durchgeführt werden.
Code:
public object DoWork()
{
if (InValues.Length == 0)
throw new ArgumentException("min. 1 Eingangsparameter erwartet!");
string sIN = (string)InValues[0].GetString();
if (sIN == null)
return null;
string sRet = String.Empty;
// Hier die Suchen und Ersetzen Werte anpassen
string sFind1 = "<ul><li>";
string sFind2 = "</li></ul>";
string sReplace1 = "<p class=MsoNormal>";
string sReplace2 = "</p>";
int pos = 0;
while( true )
{
int p1 = sIN.IndexOf(sFind1, pos, StringComparison.CurrentCultureIgnoreCase);
if (p1 < 0)
break;
int p2 = sIN.IndexOf(sFind2, p1, StringComparison.CurrentCultureIgnoreCase);
if (p2 < 0)
break;
// Falls Sie jeden Wert in einer neue Zeile stehen haben möchten
// müssen Sie an den nächten beiden Zeilen die Zeichen // entfernen!
//if (sRet.Length != 0)
// sRet += System.Environment.NewLine;
sRet += sReplace1 + sIN.Substring(p1 + sFind1.Length, p2 - p1 - sFind1.Length) + sReplace2;
pos = p2;
}
return sRet;
}
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
13 Jahre 4 Monate her #513
von fertac
fertac antwortete auf Aw: Strings mit gleichen Klammerwerten aus Text lesen
Hallo Herr Stark,
Perfekt!!
Genau das haben wir gesucht. Das Script wurde noch um 4 weitere Suchfunktionen erweitert und funktioniert so wie wir es benötigen.
Danke für die gute und schnelle Hilfe. :laugh:
fertac
Perfekt!!
Genau das haben wir gesucht. Das Script wurde noch um 4 weitere Suchfunktionen erweitert und funktioniert so wie wir es benötigen.
Danke für die gute und schnelle Hilfe. :laugh:
fertac
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.279 Sekunden