Sha256: 490464a30c1a4a1992d7e14b46c70a53eef40d75252c7f5997a0b730263008d2

Contents?: true

Size: 457 Bytes

Versions: 281

Compression:

Stored size: 457 Bytes

Contents

using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

public static class Acronym
{
    public static string Abbreviate(string phrase)
    {
        return Words(phrase).Aggregate("", (abbr, word) => abbr + char.ToUpperInvariant(word[0]));
    }

    private static IEnumerable<string> Words(string phrase)
    {
        return Regex.Matches(phrase, "[A-Z]+[a-z]*|[a-z]+").Cast<Match>().Select(m => m.Value);
    }
}

Version data entries

281 entries across 281 versions & 1 rubygems

Version Path
trackler-2.2.1.98 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.97 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.96 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.95 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.94 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.93 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.92 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.91 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.90 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.89 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.88 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.87 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.86 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.85 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.84 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.83 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.82 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.81 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.80 tracks/csharp/exercises/acronym/Example.cs
trackler-2.2.1.79 tracks/csharp/exercises/acronym/Example.cs