AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Überprüfen ob ein String-Array ein gewisses Zeichen enthält
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfen ob ein String-Array ein gewisses Zeichen enthält

Ein Thema von STaRDoGGCHaMP · begonnen am 9. Mär 2008 · letzter Beitrag vom 9. Mär 2008
Antwort Antwort
STaRDoGGCHaMP

Registriert seit: 1. Okt 2007
34 Beiträge
 
#1

Überprüfen ob ein String-Array ein gewisses Zeichen enthält

  Alt 9. Mär 2008, 20:29
Moin,
Wie der Titel schon unschwer vermuten lässt bin ich auf der Suche nach einer Funktion, die überprüft ob ein gewisses Zeichen in einem Array vorhanden ist. Ich suche jetzt schon etwas länger und würde sie nur sehr ungern selber schreiben
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 20:36
handelt es sich um ein Array of String wo du wissen willst ob ein Zeichen in einem der Strings enthalten ist oder ist es ein Array von Zeichen oder ist es einfach nur ein String?
Wenn du das nur ungern selbst schreiben würdest deutet es darauf hinn das du dich nicht sonderlich damit auskennst (denn es sind nur paar Zeilen). Und in dem Falle empfehle ich eigentlich "selbst schreiben" damit du was lernst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
STaRDoGGCHaMP

Registriert seit: 1. Okt 2007
34 Beiträge
 
#3

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 20:38
Es ist ein Array (ein-dimensional), das pro Index jeweils ein Zeichen enthält und ich könnte problemlos so eine Funktion schreiben, allerdings achte ich sehr auf eleganten Code und deshalb würde ich gerne wissen ob es so eine Funktion schon gibt, wenn ja benutz ich sie wenn nicht schreib ich sie selber.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 20:40
Wenn du es selber schreiben würdest, wäre es so ziemlich genau eine einzige Zeile. Ich denke, das ist kurz genug, oder?

Mfg
Robert L.
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 20:44
Delphi-Quellcode:
i:=low(array)
found := false;
while (not found) and (i <= high(array)) do
  begin
    found := array[i] = gesuchtesZeichen;
    inc(i);
  end;
Elegant genug?

Gut, wenn man noch ein Funktion (frei nach Beitrag #7) drumherumbasteln möchte:

Delphi-Quellcode:
function isCharIn(const CArray: Array of char; c : Char):boolean;
var
  i: Integer;
begin
  result := false;
  i := low(CArray)
  while (not result) and (i <= high(CArray)) do
  begin
    result := CArray[i] = c;
    inc(i);
  end;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 20:44
siehe Unit StrUtils --> AnsiIndexText (steht erst in den höheren Delphi-Versionen zur Verfügung)
  Mit Zitat antworten Zitat
1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#7

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 20:57
Delphi-Quellcode:
function IsCharIn(const c: array of char; s: Char): Boolean;
var
  i: LongInt;
begin
  for i := low(c) to high(c) do
  begin
    IsCharIn := s = c[i];
    if IsCharIn then break;
  end;
end;
wuerde ich sogar noch eleganter finden :o)
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 21:47
Hallo,

hier ist noch ein Vorschlag:

Delphi-Quellcode:
var
  ch : Char;
  SArray : array [0..10] of Char;
  DArray : array of Char;
begin
  if Pos(ch, SArray) > 0 then
    ShowMessage ('found');

  if Pos(ch, string(DArray)) > 0 then
    ShowMessage ('found');
end
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Überprüfen ob ein String-Array ein gewisses Zeichen enth

  Alt 9. Mär 2008, 23:00
ich hätte eher an eine While schleife gedacht die solange durchläuft bis das ende erreicht ist (bzw. welche rückwärts läuft solange der Index > -1 ist) und das Zeichen nicht erreicht wurde.
Delphi-Quellcode:
var i: Integer;
begin
  i := length(array) - 1;
  while ((i > -1) and (array[i] <> gesuchtes_zeichen)) do
    dec(i);
  result := (i > -1);
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 08:35 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