MMA will work in the street, so long as you actually know what your doing. If your fighting a guy in the street, and take him down, you might get hit by his friends and he might stab you with a knife. On the other hand, you will have the ability to punch and kick, thus you will already be leaps and bounds ahead. So yes it does work, but here's where i start to give you the negatives of MMA.
First negative, MMA by it's definition is mixing martial arts to get better. This is something i personally say is completely untrue. Sure, no one will argue that in a ground fight, you need to be able to fight on the ground. But think about it, if wrestling is the oldest form of martial arts, why would any martial art not contain a way to deal with wrestling? The answer is simple, all martial arts do. When taught real martial arts, you learn every aspect of fighting, and in many cases more aspects of fighting. I hear all the time how you don't need to be trained to gouge eyes, or kick to the groin, etc. and this is quite true. But if you train without ever thinking of hitting to those areas, you won't think to hit the areas in an actual fight. Furthermore, MMA gyms only really teach very very basic techniques, and then throw you in the ring and tell you to fight. Martial arts in the more traditional sense, will teach more and more complex and advanced moves as you learn, all the while still mastering the basics.
Second reason I say learning MMA for a street fight isn't the great idea that many say it is is because quite simply you don't need it. Learning one art is more than sufficient to take out untrained opponents. Even thugs who seem tough will get destroyed by someone who is actually taught how to fight. This is the entire point of martial arts, to give one fighter the edge over untrained opponents. You can defend yourself quite well learning only one art, and you'll be better at that one art.
third negative, MMA is limiting your self defense capability. If you are actually fighting for sport, and do make it big, you can no longer fight anyone. You hit someone outside the ring, and you'll be judged even more harshly than if you were just a normal person, not to mention the fact that you'd probably be barred from fighting again.
Your best off just choosing the art that is taught best that is closest to you. If the nearest MMA gym is an hour from your house while a great karate dojo is right next door, do the karate. The most important parts of learning the art is having a good instructor and enjoying the art itself.
***If this was too long read this***
My answer to you is this, choose the style taught the best that is nearest or cheapest.