You can use Alan Burstein's PatExclude8K[/url]
WITH cteData AS (
SELECT x.String
FROM (VALUES('XDX114A77400'),
('1123AB00171')
) x (String)
)
SELECT d.String
, Letters = L.NewString
, Numbers = N.NewString
FROM cteData d
CROSS APPLY dbo.PatExclude8K(d.String,'%[^A-Za-z]%') L
CROSS APPLY dbo.PatExclude8K(d.String,'%[^0-9]%') N
ORDER BY d.String;