Asking here you're gonna get people telling you to pick Sheffield! I've got mates who are at uni in London and because it's such a big city they can't have a very studenty lifestyle. They all end up living really far apart from each other and although there are lots of organised things with the whole UoL (esp orchestras etc) they usually involve a lot of travelling. Sheffield's big enough to be fairly urban (could never really be called "rural", although might be quiet compared to Hong Kong) yet small enough to mean that it's easy (and cheap) to get around. Most of the students live in the same areas, so it's very easy to make lots of different friends etc.
The surrounding environment? For me a big thing about Sheffield is that it's near the peak district (this might be why you see it as "rural"). I do a lot of walking and being near to the national park makes outdoor activities and sports like climbing/caving easy and popular. It also means the air is noticably fresher. However, it's a big enough city to have all the perks of city life - nightlife, shops etc. You'd probably find that you'd spend most of your time doing things with the uni though, so other factors aren;t as important as where the best student nights/discounts are. In London you're less likely to turn up to a club and randomly meet a lot of good mates.
A major factor for me would be that London is a lot cheaper. Not only is food/housing etc much more expensive, but it's very hard to get anywhere without using public transport. In Sheffield you can walk everywhere, which is healthy but also saves a lot of money in the long run. Whenever I go to stay with friends living in London I'm always shocked by the number of buses they need to get to lectures/supermarkets etc.