You can list the contents of the zip with `unzip -l`, make it a bit more quiet with `-qq`.

Then parse the the list with e.g. `grep -Po`.

For example:

 unzip -P "$(unzip -lqq test.zip | grep -Po '[^ ]*(?=\.zip)')" test.zip

or if you don't have `grep` with `-P` option:

 unzip -P "$(unzip -lqq test.zip | grep -o '[^ ]*$' | cut -f1 -d'.')" test.zip