AGB  ·  Datenschutz  ·  Impressum  







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

Text ersetzen

Ein Thema von BlueStarHH · begonnen am 19. Apr 2005 · letzter Beitrag vom 19. Apr 2005
Antwort Antwort
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#1

Text ersetzen

  Alt 19. Apr 2005, 16:20
Hat jemand eine Funktion die mir in einem String nach einem Char sucht und diesen durch einen anderen String ersetzt? Der Char soll nur ersetzt werden, wenn er nicht mehrmals genau hinereinander auftritt. Wenn er 2x hintereinader auftritt soll ein Char entfernt werden.

Beispiele
Replace(s, '|', #13#10)

Das ist ein Test|und das auch. --> Das ist ein Test#13#10und das auch.
Das ist ein Test||und das auch. --> Das ist ein Test|und das auch.
Das ist||ein Test|und das|||auch. --> Das ist|ein Test#13#10und das|#13#10auch.
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#2

Re: Text ersetzen

  Alt 19. Apr 2005, 16:29
ich glaube, diese Funktion selber zu schreiben hätte dich weniger Zeit gekostet als dein Beitrag.....



Roderich
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Text ersetzen

  Alt 19. Apr 2005, 16:32
Die Funktion heißt StringReplace.
Guckst du hier auf meiner HP
Dann noch ein bisschen mit Pos und Delete basteln. Dann sollte das Problem behoben sein.
Peter
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#4

Re: Text ersetzen

  Alt 19. Apr 2005, 16:35
@Jasocul
Das Problem ist wohl etwas komplexer.

Ich glaube das läuft auf Parsen hinaus. Zeichen für Zeichen durchsuchen und wenn Zeichen = | dann wenn Position + 1 ungleich | ist, das Zeichen mit #13#10 ersetzen
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Text ersetzen

  Alt 19. Apr 2005, 17:26
Ich würde das ja einfach so machen :
Delphi-Quellcode:
AnsiReplaceStr(s, '||', #255); //255 als Zwischenspeicher
AnsiReplaceStr(s, '|', #10#13);
AnsiReplaceStr(s, #255, '|');
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#6

Re: Text ersetzen

  Alt 19. Apr 2005, 17:29
Oder einfach Delphi-Referenz durchsuchenStringReplace mir [rfReplaceAll] benutzen.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Text ersetzen

  Alt 19. Apr 2005, 17:36
Zitat von Dax:
Oder einfach Delphi-Referenz durchsuchenStringReplace mir [rfReplaceAll] benutzen.
Nein. Er will dass der | mit | escaped wird. also | ist ein Zeilenumbruch, || ist ein einzelnes |. Khabarakhs Loesung muesste funktionieren

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  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 02:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz