using System;
using System.Linq ;
using System.Collections .Generic ;
using System.Text .RegularExpressions ;
public class Test
{
public static void Main( )
{
var regex = @"[0-9]+|\b (?:\p{Lu}+\b |\w)" ;
var list = new List< string> { "Freestyle steel" , "Freestyle Alloy" , "Trekking steel uk" , "Single speed" , "5 speed" , "15 speed" , "3 Speed internal gear with 55 coaster" , "MTB steel" , "Junior MTB" } ;
foreach( var data in list)
{
var matches = Regex.Matches ( data, regex) .Cast < Match> ( ) .Select ( m => m.Value .ToUpper ( ) ) ;
Console.WriteLine ( string.Join ( "" , matches) ) ;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCQkJCQkKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciByZWdleCA9IEAiWzAtOV0rfFxiKD86XHB7THV9K1xifFx3KSI7CgkJdmFyIGxpc3QgPSBuZXcgTGlzdDxzdHJpbmc+IHsiRnJlZXN0eWxlIHN0ZWVsIiwiRnJlZXN0eWxlIEFsbG95IiwiVHJla2tpbmcgc3RlZWwgdWsiLCJTaW5nbGUgc3BlZWQiLCI1IHNwZWVkIiwiMTUgc3BlZWQiLCIzIFNwZWVkIGludGVybmFsIGdlYXIgd2l0aCA1NSBjb2FzdGVyIiwiTVRCIHN0ZWVsIiwiSnVuaW9yIE1UQiJ9OwoJCWZvcmVhY2godmFyIGRhdGEgaW4gbGlzdCkKCQl7CgkJCXZhciBtYXRjaGVzID0gUmVnZXguTWF0Y2hlcyhkYXRhLCByZWdleCkuQ2FzdDxNYXRjaD4oKS5TZWxlY3QobSA9PiBtLlZhbHVlLlRvVXBwZXIoKSk7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCIiLCBtYXRjaGVzKSk7CgkJfQoJfQp9