Yes. I fed DS1 until he self weaned and he was over 4. I probably would have carried on with DS2 but I got pregnant and had terrible aversion so I ended up weaning and honestly, I am so relieved. He is 3.5 now and DS3 is six months. I can totally and fully give him what he asks for (90% of the time in cuddles and attention but I think I would have resented him asking for milk.
It took about three months to wean, I did it slowly. Started when he was 2.5, he was having minimal/occasional daytime feeds, plus nap, bedtime and night feeds. Coming into our bed at night too. I had started to cut down on that three months ish before. So he was staying in his own room all night.
I treated these three as different things, which helped. Daytime feeds were easy to cut out as I could say "No, it's nap time/bedtime soon, you can have it then" plus he wasn't that bothered anyway.
Middle of the night was next to go. I introduced a delay. When I went in to him I'd really take my time over talking to him and letting him know I was there, then picking him up, slowly walking a longer way to the chair, sitting and rocking him a little bit in the feeding position but not quite, taking a while to open my clothing, just stalling at every stage. The key seemed to be to move enough that he was reassured the milk/cuddle he wanted was coming but stall enough that he might actually fall back to sleep before it did. And before too long he stopped asking. If he was more upset and did get to the point of latching on I would stop the feed after a few moments. Then rock/soothe if this upset him and repeat.
Once I was confident in this I (sort of accidentally, but it worked) reduced feeding down to one side. I'd hold him on my left side in the middle of the night but feed him on the right at bedtime. This meant that if I was feeling particularly sensitive at bedtime I'd hold him on the left and rock him. Because he associated this with night time it soothed him although he would be upset about not getting to feed. On other nights I would let him feed on the right but cut off after a short time, although fairly quickly I found it was kindest just to be clear and only offer the "mimi cuddle" on the left side.
I didn't actually find it that emotional. I don't know when our last feed was. It felt like it faded out, which felt right. Acknowledging that the change was hard for him and not being afraid of him being upset by it or allowing that to make me feel guilty was helpful.
The only thing that I wasn't totally happy with is after we changed to cuddling to sleep DH still wasn't happy with this and wanted him to fall asleep alone so he ended up taking over half of bedtimes and enforcing a tuck in and leave approach. I kind of missed the bedtime cuddles
and felt it was something important that we shouldn't neglect but I was so tired and DS3 was so clingy at birth that I didn't have the option to carry it on anyway - maybe it was OK. DS2 certainly seems fine with bedtime and doesn't ask to nurse so I think the timing worked fine for him.