Normally, when a texture is sampled, it will always find a pixel in the UV space of 0 to 1, infinity repeating (in other words, 2.3 samples the exact same pixel as 1.3, and 1045.75 samples the exact same pixel as 0.75 - only the fractional matters.)
There is not really such thing as “empty” for a wrapped sample.
What you can do is lerp between two seperate sets of texture samples with their own coordinates (ie a tile texture and a grout texture).
If you are using actual tile meshes, I don’t see why you would need this. The floor/grout could simply use a different material and each tile will have it’s own UVs, which will automatically be correct for that tiles position.
Although I generally don’t think using meshes for individual floor tiles is a good idea (even with Nanite), and especially with Lumen (as small objects get culled more quickly)