![]() |
String bearbeiten
Hallo Leute
Meine Frage : Ich habe einen Text der sich in einem Memo befindet in einen String geladen, und ich will Zeichen entfernen:
Delphi-Quellcode:
for n:=1 to lenght[s] do
begin if s[n]=' ' then s[n]:='_' <--------FUNKTIONIERT if s[n]='-' then s[n]:='' <-------------Fehler string and char WARUM ?? (Soll nur gelöscht werden) end; |
Re: String bearbeiten
Hi,
benutz doch die Delete-Funktion |
Re: String bearbeiten
Die wie funktioniert ? :gruebel:
|
Re: String bearbeiten
kommt schon bitte HILFE :oops:
|
Re: String bearbeiten
Hi!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var str: string; begin str:='Test'; delete(str, 1,2); showmessage(str); //st end; Zitat:
Edit: Du pushst nach 7 Minuten??? |
Re: String bearbeiten
@Bundy:
Das "pushen" eigener Threads nach so kurzer Zeit (mit 7 Minuten dürftest Du trauriger Rekordhalter sein!) ist nicht erwünscht. :warn: |
Re: String bearbeiten
:thuimb: :thuimb: hy Danke dir :thuimb:
|
Re: String bearbeiten
Mit "String[Index]" greifst Du nunmal auf einen einzelnen Char aus einer Kette zu, wenn Du nun eine Zuweisung der form "String[Index] :=" machst, erwartet Delphi auf der rechten Seite auch einen Char. Deine zwei Hochkommas, sind aber kein Char, sondern ein leerer String - daher knallt es.
wenn Du nicht delete nutzen möchtes, kannst Du sowas basteln:
Delphi-Quellcode:
Anwendung:
function CleanUpString(Value : String;
SearchChars : Array of Char; ReplaceChars: Array of Char):String; var i,j : Integer; WasReplaced : Boolean; begin for i:=1 to length(Value) do begin WasReplaced := False; for j := 0 to High(SearchChars) do begin if Value[i] = SearchChars[j] then begin WasReplaced := True; if ReplaceChars[j] <> #0 then begin Result := Result+ReplaceChars[j]; Break; end; end; end; // for j if not WasReplaced then Result := Result+Value[i]; end; //for i end;
Delphi-Quellcode:
Gruß
var MyString : String;
begin MyString := 'Das ist ein Test-String'; MyString := CleanUpString(MyString,[' ','-'],['_',#0]); [Edit]immer wenn man zu hastig ist...[/Edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 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