Here little longish version with check for quote without pair. Only deals with one style of start and end string (adaptable for example for example start,end='()')
start, end = '"', '"'
for test in ('Hello "world this is" atest',
             'This is a string with some " text inside in quotes."',
             'This is without quote.',
             'This is sentence with bad "quote'):
    result = ''
    while start in test :
        clean, _, test = test.partition(start)
        clean = clean.replace(' ','') + start
        inside, tag, test = test.partition(end)
        if not tag:
            raise SyntaxError, 'Missing end quote %s' % end
        else:
            clean += inside + tag # inside not removing of white space
        result += clean
    result += test.replace(' ','')
    print result