# [Braingolf], <s>42</s> 40 bytes

    #"#H#e#l#l#o#,# #W#o#r#l#d#!#" $_ <$_& @

[Try it online!][TIO-j4fade4h]

[Braingolf]: https://github.com/gunnerwolf/braingolf
[TIO-j4fade4h]: https://tio.run/##SypKzMxLz89J@/9fWUnZQzlVOQcI85V1lBWUw4F0EZCXoqyorKSgEq9goxKvpuDw/z8A "Braingolf – Try It Online"

After removing odd characters:

    "Hello, World!"$ $&@
[Try it online!](https://tio.run/##SypKzMxLz89J@/9fySM1JydfRyE8vygnRVFJRUFFzeH/fwA "Braingolf – Try It Online")

## Explanation
Full program:

    #"#H#e#l#l#o#,# #w#o#r#l#d#!#" pushes "Hello, World!" (including quotes)
    
    $ adds the silent modifier to the next operator
    space does nothing
    _ Pops and prints the last item on the stack, but due to silent mode, does not print
    < moves the first item on the stack to the end of the stack

    This means that $_ <$_ will remove both quotes from the stack
    
    & adds the greedy modifier to the next operator
    @ pops and prints the last item on the stack as an ASCII character
      greedy modifier means it prints the entire stack.
With characters removed:

    "Hello, World!" Pushes Hello, World!
    Spaces are no-ops
    &@ Prints entire stack as ASCII
    @ is not affected by the silent modifier (apparently)

It feels really cheap using no-ops for this, but it's better than the Java/Python comment solutions imo