Be careful, marble is one of the softest stones around.
Yes , vinegar will work , because its acidic and eats into the marble. And marble is porus, so if you do it repeatedly it can eat away at your marble.
Best bet ...either diluted hydrogen peroxide , or a fine polish, like a glass polish.
But always rinse clean afterwards .
And here's a tip.
Once clean , apply a car wax.
Let it dry anms you would if you were waxing your car .
(Make sure you get a clear wax)
This will give your marble a protective layer so stains can be wiped off , like if you use the above mixture without damaging the marble underneath .
The wax also hides minor scratches.
It needs to be repeated every few weeks to keep up the protective layer .
Microfibre cloths are also wonderful .
There are many types.
If you get one made for glass , it works well.
And remember...micro fibre is to be used wet, but wrung out. If you use it sodden, its fibres are not free to pick up the contamination.
Hope this helps.
I've had HEAPS of experience cleaning....and this is the method I eventually decided upon .
Also...if the marble is dark , use the HP sparingly.
You can also polish marble with common chalk ground up and mixed with water (and a smidge of detergent)...this is also the first thing you should really try on the stain ....general cleaning rule : work from gentlest cleaning method first.
😊