Avatar billede CodingJoe Nybegynder
05. februar 2013 - 18:10 Der er 2 kommentarer og
1 løsning

C# Regexp formatering af en streng i et format

Jeg har et format, der ser således ud:

XXXXXX-XX-XX

Jeg kan få en streng, der kan se således ud:

XXXXXXXX-XX

eller

XXXXXXXXXX

eller

XXXXXX-XXXX

Det regexp jeg sidder og kæmper med, skal kunne sætte bindestreg de rigtige pladser.

Er der en der kan hjælpe med et regexp udtryk i c#
Avatar billede arne_v Ekspert
05. februar 2013 - 18:30 #1
Mit forslag:

using System;
using System.Text.RegularExpressions;

namespace E
{
    public class Program
    {
        private static readonly Regex re = new Regex(@"(\w{6})-?(\w{2})-?(\w{2})", RegexOptions.Compiled);
        public static string Format(string s)
        {
            return re.Replace(s, "$1-$2-$3");
        }
        public static void Test(string s)
        {
            Console.WriteLine(s + " -> " + Format(s));
        }
        public static void Main(string[] args)
        {
            Test("XXXXXX-XX-XX");
            Test("XXXXXXXX-XX");
            Test("XXXXXX-XXXX");
            Test("XXXXXXXXXX");
            Console.ReadKey();
        }
    }
}
Avatar billede CodingJoe Nybegynder
05. februar 2013 - 19:07 #2
Endnu et sniper shot fra Arne :D

smid bare et svar ind :)
Avatar billede arne_v Ekspert
05. februar 2013 - 19:11 #3
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester