Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.12.2022
Сообщений: 14

Разделить строку с учетом кавычек

20.01.2023, 21:03. Показов 893. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У нас есть строка которую нужно разделить на массив строк учитывая кавычки. (Строку вводит пользователь при старте программы)

Например:

"Sam 22 Blue" становится ["Sam", "22", "Blue"]

""Samiuel Gordon" 22 "light blue"" становится ["Samiuel Gordon", "22", "light blue"]

То есть все что внутри кавычек должно идти как отдельный элемент. При этом если кавычка внутри слова (Например Sa"m) или нет закрывающих кавычек то они не учитываются.

Я думал сделать это через регулярные выражения но пока не понял как. ( через регулярные выражения делать не обязательно просто пока это моя единственная идея)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.01.2023, 21:03
Ответы с готовыми решениями:

Как разделить строку с учетом кавычек?
Здравствуйте. Как можно эту строку: 'Идейные соображения "высшего порядка", а также "сложившаяся" структура ...

Запись в строку кавычек
Здравствуйте! есть строка @"C:\Start.exe" но нужно чтоб в самой строке в начале и конце присутствовали кавычки "" то есть...

Как получить строку без кавычек?
Как получить данные из строки без кавычек? Например,в text1 введено x^2 далее,y=text1.text ,и y вернётся "x^2" . Как...

7
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
20.01.2023, 21:36
https://learn.microsoft.com/ru... ew=net-7.0
0
0 / 0 / 0
Регистрация: 26.12.2022
Сообщений: 14
20.01.2023, 22:06  [ТС]
116rus, Я знаю о методе Split, но не понимаю как с помощью него можно решить проблему с кавычками.
0
628 / 392 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
20.01.2023, 22:15
Kingod, я бы взял конечный автомат
0
419 / 311 / 107
Регистрация: 30.08.2022
Сообщений: 1,195
20.01.2023, 22:32
В задаче CSV в чистом виде с пробелами в качестве разделителей
https://learn.microsoft.com/en... ew=net-7.0
вроде как с этим справлялся, ну или из вне
https://www.nuget.org/packages/CsvHelper/
0
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
20.01.2023, 22:36
C#
1
2
3
4
5
6
7
8
9
10
static void Main(string[] args)
        {
 
            var input = new string[] { "Sam", "22", "Blue" };
 
            Console.WriteLine($"[{string.Join(" ", input.Select(i => $"\"{i}\""))}]");
 
 
            Console.ReadKey();
        }
0
0 / 0 / 0
Регистрация: 26.12.2022
Сообщений: 14
21.01.2023, 00:24  [ТС]
116rus, Нужно разделить строку на массив строк, а не наоборот.

Добавлено через 1 минуту
brian778, Насколько я понял TextFieldParser работает с файлами, но у меня проста строка которую вводят в консоль.
0
419 / 311 / 107
Регистрация: 30.08.2022
Сообщений: 1,195
21.01.2023, 00:32
Лучший ответ Сообщение было отмечено Kingod как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.IO;
using Microsoft.VisualBasic.FileIO;
 
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            StringReader stringReader = new StringReader("\"Samiuel Gordon\" 22 \"light blue\"");
            using (var parser = new TextFieldParser(stringReader))
            {
                parser.TextFieldType = FieldType.Delimited;
                parser.SetDelimiters(" ");
 
                while (!parser.EndOfData)
                {
                    string[] fields = parser.ReadFields();
 
                    foreach (string field in fields)
                    {
                        Console.WriteLine(field);
                    }
                }
 
                Console.ReadKey();
            }
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2023, 00:32
Помогаю со студенческими работами здесь

Как записать в файл строку без кавычек?
Имеется: <nul set /p f=>result.xml set str="<?xml version="1.0" encoding="windows-1251" ?><journal>" echo %str% >>result.xml ...

Как вывести в файл строку без обрамляющих кавычек?
Добрый день. Не могу избавиться от кавычек, т..е в файл 1.log значение записывается в виде "151006_04_1H". Исходная строка в...

Вывод чисел из массива в строку без кавычек и квадратных скобок
python 3.6 a=input().split() piska= for s in range (1,len(a)+1): if s%2==0: piska.append(s) Это мой...

Разделить строку из hex на строку из dec
Здравствуйте, задача легкая но я в python не разбираюсь и прошу сделать "с нуля". У меня есть строка формата "deadbeef" , надо...

Как читать строку с учетом пробелов?
char b cin>>b; //вводим строку " 45" cout<<b; результат вывода "4" почему? как сделать так чтобы cin ело...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru