Ahoj, prosím o radu.
Mám dva řetězce (dejme tomu A,B) a potřebuju zjistit, jestli A je obsažen v B (jestli je jeho podmnožinou).
Jak na to? Díky moc.
Fórum › Delphi
Porovnání dvou řetězců
Pro upřesnění:
Chci z pole řetězců vypsat všechny řetězce, které obsahují nějaký řetězec zadaný třeba z klávesnice.
Ale chci aby to vypsalo i řetězce, které nejsou shodné, jen zadaný řetězec obsahují. Např. 'Zimnice' obsahuje 'Zim'. Takže pokud budu prohledávat pole např. pro zadaný řetězec 'to', tak chci aby mi vypsal všechny řetězce obsahující 'to' - např. 'otoman', 'Tom', 'Auto', 'tok', atd.
Díky
Nikdo neví?
Napadlo mě nějak rozsekat všechny řetězce, ve kterých chci hledat ten zadaný, na všechny možné části o stejné délce jako zadaný řetězec a pak to postupně srovnat, ale nejde to nějak jednodušejí? Poraďte prosím.
noo skus ist na to takto:
function obsahuje(h:string,retazec:string):string;
begin
je:=false;
for i:=0 to length(retazec) do
begin
if retazec[i]=h[0] then
begin
while retazec[i+j]=h[j] do
begin
inc(j); je:=true;
end;
je:=false;
end;
end;
if (je) then
return retazec;
end;
neviem ci to je spravne a ci som ti nieco pomohol, ale tak snad som aspon nacrtol mozne riesenie:)
function pos(substr:string,s:string):integer;
substr - podřetězec (hledaný řetězec)
s - řetězec (ten ve kterém se hledá)
funkce vrací pozici prvního znaku prvního výskytu podřetězce (substr) v řětězci (s), pokud se v něm nevyskytuje tak 0
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Porovnání dvou řetězců v poli — založil avalagne
Porovnání řetezců — založil pazdy
Porovnání řetězců — založil Bananovnik
Porovnani retezcu? — založil TuTi_fruTi
Porovnání řetězců — založil thifferx