Avatar billede Slettet bruger
01. marts 2013 - 18:03 Der er 2 kommentarer og
1 løsning

replace second but not first - REGEX

Hejsa C# nørder :P

Jeg har et problem jeg ikke kan gemmeskue.

Hvis jeg har denne her text:

hej.hejmeddig.hehehe

Så vil jeg bruge denne kode til at fjerne andet punktum:

var r = row.hejhejhej
var result = Regex.Replace(r, @"(\.|\,)", m => m.NextMatch().Success ? "." : ""))

så bliver min text til:

hej.hejmeddighehehe

MEN hvis jeg nu i forvejen har en anden text der hedder:

hej.hulallalllh

og jeg så bruger ovenstående kode, så bliver min text til:

hejhulallhla

Altså - den må ikke fjerne punktum hvis der kun er 1

hilfe bitte!
Avatar billede arne_v Ekspert
01. marts 2013 - 19:04 #1
Et forslag:

using System;
using System.Text.RegularExpressions;

namespace E
{
    public class Program
    {
        public static string ReplaceAllPeriodsExceptFirst(string s)
        {
            bool first = true;
            return Regex.Replace(s, @"\.", m => { string res = first ? "." : ""; first = false; return res; });
        }
        public static void Test(string s)
        {
            Console.WriteLine("{0} -> {1}", s, ReplaceAllPeriodsExceptFirst(s));
        }
        public static void Main(string[] args)
        {
            Test("A");
            Test("A.B");
            Test("A.B.C");
            Test("A.B.C.D");
            Console.ReadKey();
        }
    }
}
Avatar billede Slettet bruger
01. marts 2013 - 19:18 #2
PERFEKT!! Tak - Dog laver jeg det i en SSIS pakke (script component i ssis)

Så koden vil se sådan her ud:

bool first = true;
          Row.hehe =  Regex.Replace(Row.hehe, @"\.", m => { string res = first ? "." : ""; first = false; return res; })


Lig et svar for den gode hjælp og hurtige svar :)
Avatar billede arne_v Ekspert
01. marts 2013 - 19:29 #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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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