# Ruby, <strike>23</strike> <strike>18</strike> 17 bytes

 ->s{[*' '..?~]-s}

Uses a lambda function as per @sethrin's comments.

Previous versions:

 [*' '..?~]-s.chars

 (' '..'~').to_a-s.chars