detect string in a way that works with both Python 2.x and 3.x