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!
Annonceindlæg fra Jysk IT
Sikkerhed skal være en del af driften
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
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(); } } }
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 :)