If the string you want is always the next-to-last one and is always delimited by '/', this should do it:
SELECT
SUBSTRING(data, LEN(data) - CHARINDEX('/', REVERSE(data), CHARINDEX('/', REVERSE(data)) + 1) + 2,
CHARINDEX('/', REVERSE(data), CHARINDEX('/', REVERSE(data)) + 1) - CHARINDEX('/', REVERSE(data)) - 1)
FROM (
SELECT 'dat1/dat2/dat3/dat4/1/2009' AS data UNION ALL
SELECT 'dat1/dat2/dat34/dat4/2/2009' UNION ALL
SELECT 'dat1/dat2/dat/sd34/dat4/3/2009' UNION ALL
SELECT 'ssf/sdf/sdf/sf/sf/sf/4/2009' UNION ALL
SELECT 'ssf/sdf/sdf/sf/sf/sf/10/2009' UNION ALL
SELECT 'ssf/sdf/sdf/sf/sdf/sf/sf/44444444/2009' UNION ALL
SELECT 'ssf/sdf/sdf/sf//sdf sdf sf/sf/111/2009' UNION ALL
SELECT 'ssf/sdf/sdf/sf/sf/sd sf sdf /1798/2009'
) AS test_data
Scott Pletcher, SQL Server MVP 2008-2010