05AB1E, 6 bytes
gÝo£õÜ
Or minor alternative:
ā<o£õKā<o£ʒĀ
Explanation:
g # Push the length of the (implicit) input-list
Ý # Pop and push a list in the range [0,length]
# OR:
ā # Push a list in the range [1, (implicit) input-length]
< # Decrease each by 1 to the range [0,length)
o # Map each value to 2 to the power this value
£ # Split the (implicit) input-string into parts of those sizes
õÜ # Trim all trailing ""
# OR:
õKʒ # RemoveFilter allthese string-parts:
Ā # Check if truthy (where "" is falsey)
# (after which the result is output implicitly)