Find-Funktion

Hallo allerseits,

hier ein eigentlich einfaches Problem im Zusammenhang mit der Find-Funktion: Ich möchte herausfinden, ob in einer Emailadresse der Nachname (beides in einem Dataset) vorhanden ist. Das habe ich mir so gedacht:

data test;
set fi_master (keep = a_emadr a_name);

where not missing(a_emadr) and upcase(a_emadr) ne "KEINE";

n1 = find(a_emadr,a_name,"i");

un = upcase(a_name);
ue = upcase(a_emadr);

n2 = find(ue,un);
run;

Einfach, liefert jedoch nur Nullwerte für n1 und n2, obwohl der Nachname eindeutig in der Emailadresse vorkommt. Woran liegt das?

Greife ich mir eine von vielen Adressen heraus und schreibe das wie in der SAS_Doku, dann funktioniert es (natürlich).

data test2;
ue = 'MULLIW@BLA.DE';
un = 'MULL';
n = find(ue,un);
run;

Was habe ich im ersten Datastep übersehen?

Vielen Dank und Grüße
Steffen

Variablenlänge

Hallo,

bei der Find-Funktion wird die gesamte Variable inkl. der Leerzeichen am Ende verwendet. Wenn man zusätzlich zum Parameter i noch den Parameter t verwendt, sollte das Problem nicht mehr auftreten.

n1 = find(a_emadr,a_name,"it");

Viel Erfolg
Lutz

Funktioniert!

Hallo Lutz,

danke für die schnelle Hilfe.

Grüße
Steffen

(Kein Betreff)

(verflixter Doppelklick)