Avatar billede glenn007 Nybegynder
06. januar 2009 - 16:50 Der er 1 kommentar

replace text

så den gal igen...

sider med cirka en MASSE tekst i en enkelt stor tekst fil

jeg skal på en eller anden måde læse en hel linie ind og hvis
det første tal efter en underscore er større end 10 og næste tal efter næste underscore i samme linie er større end 10
så skal den slette de næste 3 linier og erstatte disse linier med noget andet.

er dette mon muligt at gøre på den måde.
Avatar billede arne_v Ekspert
11. januar 2009 - 04:47 #1
Det vil jeg da mene.

Til inspiration:

using System;
using System.Text;
using System.Text.RegularExpressions;

namespace E
{
    public class Program
    {
        private static readonly Regex re = new Regex(@"(.*?_(\d+).*?_(\d+).*\r\n)(.*\r\n.*\r\n.*\r\n)", RegexOptions.Compiled);
        public static string XReplace(string s)
        {
            StringBuilder res = new StringBuilder("");
            int ix = 0;
            foreach(Match m in re.Matches(s))
            {
                res.Append(s.Substring(ix, m.Index - ix));
                if(int.Parse(m.Groups[2].Value) > 10 && int.Parse(m.Groups[3].Value) > 10)
                {
                    res.Append(m.Groups[1].Value);
                    res.Append("x\r\nx\r\nx\r\n");
                }
                else
                {
                    res.Append(m.Groups[0].Value);
                }
                ix = m.Index + m.Length;
            }
            res.Append(s.Substring(ix));
            return res.ToString();
        }
        public static void Main(string[] args)
        {
            string s = @"a
b_11 c_12
d
e
f
g_9 h_10
i
j
k
l
m n_13 o p_14 q
r
s
t
u";
            Console.WriteLine(s);
            Console.WriteLine(XReplace(s));
            Console.ReadKey();
        }
    }
}
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