Removing all Schemas and Objects from a database, excluding specific Schemas and Objects
I've cracked it! Thought I'd share in case anyone else was interested too. 

CREATE TABLE #Safe
    ( [Schema] NVARCHAR(50), [Table] NVARCHAR(100) )

INSERT INTO #Safe
SELECT SCHEMA_NAME(schema_id) AS [schema], [name]
    FROM sys.tables
        WHERE SCHEMA_NAME(schema_id) IN ('1', '2')
        OR [name] LIKE ('1_%')
        OR [name] LIKE ('2_%')
        OR [name] = 'DatabaseVersion'

DECLARE cur_delete CURSOR FOR
SELECT SCHEMA_NAME(schema_id) AS [schema], [name]
    FROM sys.tables
        WHERE SCHEMA_NAME(schema_id) NOT IN (SELECT [Schema] FROM #Safe)
        OR [name] NOT IN (SELECT [Table] FROM #Safe)

OPEN cur_delete

DECLARE @Schema NVARCHAR(50)
DECLARE @Table sysname
DECLARE @SQL NVARCHAR(MAX)

FETCH NEXT FROM cur_delete
INTO @Schema, @Table;

WHILE @@FETCH_STATUS = 0
BEGIN
    SET @SQL = 'DROP TABLE [' + @Schema + '].[' + @Table + '];';
    PRINT @SQL
    -- EXEC sp_executesql @SQL;

FETCH NEXT FROM cur_delete INTO @Schema, @Table
END

CLOSE cur_delete
deallocate cur_delete

DROP TABLE #Safe


Found this post: Drop all tables from database command apart from named few

It included a Cursor that, with some modification, I was able to get working for my needs.