Как в C# с строки сделать массив?

Рейтинг: 0Ответов: 1Опубликовано: 18.05.2023

Получаю текст вот так:

string richText = new TextRange(textBoxUrls.Document.ContentStart, textBoxUrls.Document.ContentEnd).Text;
Console.WriteLine(richText);

В тексте есть ссылки, каждая с которых начинается на https:// Например вот так:

https://site-1.com
https://site-3.com
https://site-4.com
https://site-22.com
https://site-323.com

Как мне с этих ссылок сделать массив чтобы потом использовать его в дальнейшем?

Ответы

▲ 1Принят

Данный метод разбивает текст на строки, фильтрует строки и возвращает только те, которые удовлетворяют условию, а именно чтобы строка начиналась с https://. Также использую Trim() для удаления пробелов и табуляции с начала и конца каждой ссылки в массиве.

using System;

class Program
{
    static void Main()
    {
        string text = @"
            https://site-1.com
            https://site-3.com
            https://site-4.com
            https://site-22.com
            https://site-323.com";

        string[] links = ExtractLinks(text);

        foreach (string link in links)
        {
            Console.WriteLine(link);
        }
    }

    static string[] ExtractLinks(string text)
    {
        string[] lines = text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

        var filteredLines = Array.FindAll(lines, line => line.Trim().StartsWith("https://"));

        for (int i = 0; i < filteredLines.Length; i++)
        {
            filteredLines[i] = filteredLines[i].Trim();
        }

        return filteredLines;
    }
}