Loading...
SonixBG avatar SonixBG 50 Точки
Best Answer

Аз също не можах да измисля регекс за контента.
И както казват често лекторите, ако един проблем ти изглежда сложен, го раздели на порции.
Затова първо с един регекс извадих цялото боди
regex = "<body>(?<body>.+)</body>";


после махнах таговете
regex = "<.*?>";


този го видях в нета и е по-сложен /може би работи по-точно, но и моя върши работа за тестовете/
        regex="<(\"[^\"]*?\"|'[^']*?'|[^'\">])*>";


После видях, че остават разни \n символи и излишни интервали - махнах и тях със replace и trim.

и... 80/100
ето ти и моето решение https://pastebin.com/9BbyC5tA

Не минава тест 4 , който не можах да разбера какъв е дълго време и го пуснах в Slido.

И както казва Ванката на лекцията
https://youtu.be/GYMtCl4DpNQ?t=9101
трябва да остане текста без числата за да мине тоя четвърти тест /има го и входа на теста/

Надявам се да съм ти помогнал.

1
velislav1 avatar velislav1 0 Точки

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace HTMLPARESER
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();

            var Title = Regex.Match(input, @"<title>([^\d]+)<\/title>");
            
            Console.WriteLine("Title: {0}", Title.Groups[1].Value);

            var Body = Regex.Match(input, @"<body>(.*?)<\/body>");


            var Content = Regex.Replace(Body.Groups[1].Value, @"<[^<>]+>?", " ");
            var content = Regex.Replace(Content.ToString(), @"\\n", " ");
            var Result = Regex.Replace(content.ToString(), @"-?\d+(\.\d+)?", " ");
            var result = Regex.Replace(Result.ToString(), @"\s+", " ");
            
            Console.WriteLine("Content: {0}", result.ToString().TrimEnd(new char[] { ' ', '\t' }).TrimStart(new char[] { ' ', '\t' }));
        }
    }
}

 

0
Edzhevit avatar Edzhevit 79 Точки

Много мерси човече, направих го на 80/100 утре ще гледам пак видеото точно където ги показваше резултатите да видя къв беше този 4 ти тест.. Много ми помогна!

0
SonixBG avatar SonixBG 50 Точки

Линка с видеото от лекцията е с тайминг и се отваря точно където говори за въпросния тест ;)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.