Loading...
Kristianchooy avatar Kristianchooy 59 Точки

Append List

Здравейте!

Искам да ви попитам за задачата 11.Append Lists от Arrays and Lists - Lab 
 

как да сплитна по ' | ' ? ако напиша сплит само по вертикална черта ми дава exception(заради спейсовете) .. а аз искам да взема само отделните листове които са разделени с вертикална чера.

 

това е което съм направил за сега.. : http://pastebin.com/Pq2pqcQw

Тагове:
0
Programming Fundamentals
Maria_ls avatar Maria_ls 383 Точки

За спейсовете можеш да използваш Trim() преди сплита

 

 

0
04/10/2016 11:17:30
Kristianchooy avatar Kristianchooy 59 Точки

 var nums = Console.ReadLine().Trim().Split(new[] {'|',' '}, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList();

 

това ли имаш в предивд ? и да изтрия зачертаното ?

 

0
Maria_ls avatar Maria_ls 383 Точки

Моята препоръка е да го правиш на два пъти. Първия път сплитваш в масив - само по '|' , а полученото  в лист с Trim().Split(' '); - на мен така ми се получи както трябва.

 

Друг начин може би има с някой Linq израз, ама не съм го измислила още.

0
04/10/2016 11:32:02
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

Можеш и така да го направиш:
 

        string lists = Console.ReadLine();
        List<string> result = new List<string>();

        List<string> tokens = lists.Split('|').Reverse().ToList();
        for (int i = 0; i < tokens.Count; i++)
        {
            List<string> token = tokens[i].Split(' ').ToList();
            List<string> newToken = new List<string>();
            for (int k = 0; k < token.Count; k++)
            {
                if (token[k]!="")
                {
                    newToken.Add(token[k]);
                }
            }
            string resultToken=string.Join(" ",newToken);
            result.Add(resultToken);
        }
        Console.WriteLine(string.Join(" ", result));

 

0
sly_racoon88 avatar sly_racoon88 10 Точки
 var numbers = Console.ReadLine().Split('|').ToArray();
            var numStr = "";
           
            for (int i = numbers.Length - 1; i >= 0; i--)
            {
                var temp = numbers[i].Split(' ').ToArray();
                var tempStr = string.Join("", temp);  
                numStr += tempStr;
            }
            
            var arrNewNum = numStr.ToArray();
            Console.WriteLine(string.Join(" ", arrNewNum));

 

Дава ми 75 от 100 и не мога да се сетя защо...

0
sly_racoon88 avatar sly_racoon88 10 Точки

Добро е, добро е...

0
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

Ето още едно, прясно написано, алтернативно, кратко решение:

 

        List<string> nums = Console.ReadLine().Split('|').ToList();
        List<string> result = new List<string>();
        for (int i = nums.Count - 1; i >= 0; i--)
        {
            List<string> token = nums[i].Split().ToList();
            List<string> trimmedTokken = token.Where(x => x != "").ToList();
            string readyToken = string.Join(" ", trimmedTokken);
            result.Add(readyToken);
        }
        Console.WriteLine(string.Join(" ", result));

 

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