AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Pos/PosEx

Ein Thema von NoGAD · begonnen am 11. Apr 2021 · letzter Beitrag vom 12. Apr 2021
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Problem mit Pos/PosEx

  Alt 12. Apr 2021, 00:25
Hatte mir Deinen Code nicht angeschaut, nur gelesen was das Ziel war.
Mein code funktioniert bei mir mit Deiner Vorgabe.

Wenn sich die Vorgabe geändert hat, muss der Code auch geändert werden.

Wo liegt das problem nochmal? Bin vielleicht nur zu müde und hab die entscheiden Stelle überlesen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Problem mit Pos/PosEx

  Alt 12. Apr 2021, 00:53
Vielleicht so besser?
Delphi-Quellcode:
program Project13;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

const
  derText = '[[Hamburg]] || 2008 ||data-sort-value="Diplomica"| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch';
// |data-sort-value="" soll raus
var
  sArr: TArray<string>;
  cArr: array[0..0] of Char;
  i: Integer;
  s: string;
begin
  try
    cArr[0] := '|';
    sArr := derText.Split(cArr);
    for i := Low(sArr) to High(sArr) do
      if Pos('data-sort-value', sArr[i], 1) = 0 then
        s := s + sArr[i] + '|';
    s := Copy(s, 1, Length(s) - 1);
    WriteLn(s);
    ReadLn;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Ergebnis ist wie aus Post #2
Gruß vom KodeZwerg

Geändert von KodeZwerg (12. Apr 2021 um 00:55 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#3

AW: Problem mit Pos/PosEx

  Alt 12. Apr 2021, 00:54
Hier mal ein PascalScript, dass mit den Daten von Wikipedia (wie mir scheint) funktioniert:
Delphi-Quellcode:
program Test;

function DeleteSearchText(sText, sSearchTextA, sSearchTextB : String) : String;
var
  iPos1 : Integer;
  iPos2 : Integer;
  iLenA : Integer;
  iLenB : Integer;
begin
  iLenA := Length(sSearchTextA);
  iLenB := Length(sSearchTextB);
  while Pos(sSearchTextA,sText) > 0 do begin
    iPos1 := Pos(sSearchTextA,sText);
    iPos2 := PosEx(sSearchTextB,sText,iPos1 + iLenA);
    sText := Copy(sText,1,iPos1 - 1) + Copy(sText,iPos2 + 1,Length(sText));
  end;
  Result := sText;
end;

var
  i : Integer;
begin
  for i := 0 to Editor.Count - 1 do begin
    WriteLn(DeleteSearchText(Editor[i],'data-sort-value="','"'));
  end;
end.
Editor ist 'ne Stringliste, in die ich den fraglichen Inhalt der Seite https://de.wikipedia.org/w/index.php...edit&section=1 per Copy&Paste eingefügt habe.
Code:
aus

|style="border-style:none; text-align:center;" data-sort-value="A!"|

wird

|style="border-style:none; text-align:center;" |

aus

| [[Acabus Verlag|ACABUS Verlag]] || [[Hamburg]] || 2008 ||data-sort-value="Diplomica"| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch

wird

| [[Acabus Verlag|ACABUS Verlag]] || [[Hamburg]] || 2008 ||| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch

aus

|data-sort-value="Krüger"| [[Bücher Krüger]] || Dortmund || 1833 ||data-sort-value="2009"| † 2009 ||

wird

|| [[Bücher Krüger]] || Dortmund || 1833 ||| † 2009 ||
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Problem mit Pos/PosEx

  Alt 12. Apr 2021, 00:58
lol, heut haben wir es ja echt miteinander @Delphi.Narium

post #2 und #3 nur paar sekunden getrennt und nun schon wieder *lach*

Gute Nacht
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz