It sounds like you want to make sure isnan and isempty do return 0. Also, there is no need to explicitly check if the result of each of these operations is equal to true or false, as true==1 is the same as true and false==1 is the same as false.
for i=1:10
%tmp = regexp(my_strings(i),'(?<=_l)\d+','match','once');
loadp(i) = randi(10);
if ~ismember(loadp(i),loadp(1:i-1)) && loadp(i) && ~isnan(loadp(i)) && ~isempty(loadp(i))
hello=1;
end
end