Can you recover sockets in Diablo 2?
Solution 1:
To empty a socket in Diablo 2 LoD, there is the Horadric cube recipe:
1 Hel Rune + Scroll of Town Portal + Any Socketed Item = Remove items from sockets Warning: This will destroy any gems, runes, or jewels you have socketed. This is useful if you are not happy with the gems you have socketed and you want to socket the item in another way.
If you want to remove your diamond from the socket (and thus destroy it) and replace it with a topaz, you can do it but the cost (Hel rune) is probably not worth it unless the armor is particularly valuable and you intend to use it for a while.
This recipe isn't present in Diablo 2 Classic, which doesn't have runes or socketed armor, so presumably you are talking about D2 LoD and not Classic (aka non-expansion.)