Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Pokročilá úprava textu

Prosím o radu. Jak docílit následujícího? Je to možné v programu PSPad?
Textový soubor *.txt obsahuje text v cca desítkách tisíc řádků.
Cílem je automatizovaně projít veškerý text ve všech řádcích a vymazat všechny řádky které obsahují například tyto řetězce se shodnou délkou znaků.

Jedná se o řetězce délky 8 znaků **.*.***

A
01.A.001
B
01.A.008
01.A.009
C
13.E.259
D
18.G.008
E
F

Po odfiltrování a vymazání bude výsledek:
A
B
C
D
E
F

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Potřebuji přepsat regulární výraz pro **.*.*** kdy hvězdička je buď číslice nebo písmeno, viz zadání…
Text 21.03.2018 19:40
Text
[\w\w]\.[\w]\.[\w\w\w] To je problém to najít? https://www.regularnivyrazy.info/regularni-vyrazy-za…
dsa 21.03.2018 22:07
dsa
V odkazu uvedené jsem četl hned včera, jak o tom padla zmínka. Má hlava to však zatím není schopná p… nový
Text 22.03.2018 10:10
Text
Asi jsem to zvoral ... tyhle \x jsou bez hranatých závorek. Takže BEZ hranatých ... nový
dsa 22.03.2018 13:53
dsa
S regulárními výrazy si netykám. Věnoval jsem ti tedy 3 minuty mého času a udělal na to program.… nový
Flash_Gordon 22.03.2018 10:30
Flash_Gordon
V PSPadu se to dá, jdi do hledání (ne nahrazení): Hledat: \d{2,2}\.\w\.\d{3,3} [x]Regularní výrazy… nový
Jan Fiala 22.03.2018 10:43
Jan Fiala
{2,2} znamená počet výskytů. Dá se nahradit za \d\d \d je číslo \w je znak \. je tečka - musí se esc… nový
Jan Fiala 22.03.2018 10:45
Jan Fiala
spíše ještě takto: ^\d\d\.\D\.\d\d\d$ (přidán začátek a konec řádku. Případné nahrazení "ničím" vy… nový
touchwood 22.03.2018 10:58
touchwood
Prizivim se. PSPad 5MB log z aplikace, pokud zvolim ctrl+w (zalomit radky) neda se s tim vubec praco… nový
MaSo 22.03.2018 11:04
MaSo
Jak dlouhé jsou řádky? Pokud hodně dlouhé, tak to PSpad zabije nový
Jan Fiala 22.03.2018 19:54
Jan Fiala
1000 znaku, nekdy i vice...:-/ nový
MaSo 23.03.2018 08:33
MaSo
To není tak hrozné. Sice je jeden řádek na několik stránek... poslední
Jan Fiala 23.03.2018 11:10
Jan Fiala
uvnitř hranatých závorek se nemohou používat "characters classes" jako \w. Pokud tazatel píše **.*.*… nový
korin 22.03.2018 12:06
korin

Potřebuji přepsat regulární výraz pro **.*.*** kdy hvězdička je buď číslice nebo písmeno, viz zadání dotazu. Dále si s tím snad již poradím. Pro mě je to vyšší dívčí. Nasadím buď TextCrawler nebo jiný podobný program. Děkuji všem. :beer:

V odkazu uvedené jsem četl hned včera, jak o tom padla zmínka.
Má hlava to však zatím není schopná pobrat. Tak mě prosím omluvte. Je to pro mě těžký začátek. Vytrvám.

Vyzkoušel jsem regulární výraz [\w\w]\.[\w]\.[\w\w\w] v programu TextCrawler, ale filtruje mi to pouze přes tučně zvýrazněné znaky. Ostatní asi nejsou ve výrazu zahrnuté.
Např.:
01.A.001
20.B.005
28.A.011

Jaký tedy bude správný regulární výraz, aby to skutečně odfiltrovalo kompletně celé délky řetězců?
01.A.001
20.B.005
28.A.011

Chci se to naučit. Díky za pomoc.

S regulárními výrazy si netykám.

Věnoval jsem ti tedy 3 minuty mého času a udělal na to program.


 DialogResult result = openFileDialog1.ShowDialog();
            if (result == DialogResult.OK) // Test result.
            {
                var lines = File.ReadLines(openFileDialog1.FileName);
                foreach (var line in lines)
                {
                    if (line.Length != 8)
                    {
                        using (StreamWriter w = File.AppendText("vysledny_soubor.txt"))
                        {
                            w.WriteLine(line);
                        }
                    }
                }
            }
        }

Program je v příloze tohoto příspěvku.
V programu klikneš na tlačítko, nalistuješ soubor a klikneš Otevřít.
Pak soubor, který chceš bude společně vedle EXE programu pojmenovaný vysledny_soubor.txt

Děláme to ve volném čase, tak by nebylo na škodu podpořit poradnu nebo tak.

V PSPadu se to dá, jdi do hledání (ne nahrazení):

Hledat: \d{2,2}\.\w\.\d{3,3}
[x]Regularní výrazy
[x]Kopírovat nenalezené
Použij tlačítko Kopírovat

Do nového dokumentu se ti zkopíruje vše, co nevyhovuje regulárnímu výrazu

uvnitř hranatých závorek se nemohou používat "characters classes" jako \w. Pokud tazatel píše **.*.*** pak je dobré to dodržet a nespekulovat, že ** jsou čísla, , * písmena, *** čísla nevymýšlet \d\d\.\w\.\d{3}

Zpět do poradny Odpovědět na původní otázku Nahoru