Loading...
+ Нов въпрос
msmner avatar msmner 38 Точки

Здравей! 
Ето едно решение: 

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

namespace Extract_Person_Information
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                string input = Console.ReadLine();
                int indexOfNameStart = input.IndexOf('@');
                int indexOfNameEnd = input.IndexOf('|');
                string name = input.Substring(indexOfNameStart+1, indexOfNameEnd - indexOfNameStart-1);
                int indexOfAgeStart = input.IndexOf('#');
                int indexOfAgeEnd = input.IndexOf('*');
                string ageStr = input.Substring(indexOfAgeStart + 1, indexOfAgeEnd - indexOfAgeStart-1);
                Console.WriteLine($"{name} is {ageStr} years old.");
            }
        }
    }
}

1
kr.vandeva avatar kr.vandeva 0 Точки

Благодаря. Логиката ми гърми при вход abc@George|. С IndexOf е лесно, кратко и бързо :)

0
arnold avatar arnold 37 Точки

Много удобно се решава тази задача с регекс:

 

using System;
using System.Text.RegularExpressions;

namespace ExtractPersonInformation_MoreEx
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                string text = Console.ReadLine();

                string namePattern = @"@(?<name>[A-Za-z]+)\|";
                string agePattern = @"#(?<age>[0-9]+)\*";

                Match name = Regex.Match(text, namePattern);
                Match age = Regex.Match(text, agePattern);

                Console.WriteLine($"{name.Groups["name"]} is {age.Groups["age"]} years old.");
            }
        }
    }
}
 

0
VasilKos avatar VasilKos 17 Точки

Здравейте, къде бъркам в решението на JAVA  с Regex? Разгледах решението с substring, и то ми е ясно. Но къде бъркам тук?

ExtractPersonInformation - Pastebin.com

Пове4е ме интересува грешката в логиката, отколкото 100/100.

0
19/11/2021 10:44:39
VasilKos avatar VasilKos 17 Точки

Намерих си грешката: 

String age = matcherAge.group("age");  (не - String age = matcherName.group)

 

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