Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
10 / 12 / 2
Регистрация: 13.01.2010
Сообщений: 363

Найти нужное в тексте

07.10.2010, 20:13. Показов 2054. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Строка вида
Code
1
текст \n текст \n текст \n "пам" "парам" "тра" "лала"
в общем надо найти такие строки, как последняя, вытащить из кавычек слова и запихнуть их в массив (один массив для одной строки)

помогите неопытному =)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.10.2010, 20:13
Ответы с готовыми решениями:

Как можно с помощью Contains найти нужное слово в тексте без учета регистра?
Здравствуйте! Как можно с помощью Contains найти нужное слово в тексте без учета регистра?

Регулярное выражение. Как найти нужное вхождение слова в тексте если их несколько?
Как найти нужное вхождение слова в тексте если их несколько ? Допустим есть текст "купил виски.. подумал и купил еще колу" ...

Перенос значений одного столбца в нужное место в тексте второго столбца
Уважаемые форумчане. Ищу уже несколько часов. Никак не могу разобраться. Помогите найти решение. http://************/flleyu Вот скрин...

15
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
07.10.2010, 20:14
Цитата Сообщение от R@Z()r Посмотреть сообщение
"пам" "парам" "тра" "лала"
меняются или нет?
0
10 / 12 / 2
Регистрация: 13.01.2010
Сообщений: 363
07.10.2010, 20:26  [ТС]
planar, меняются, могут быть цифрами, буквами (англ, рус, большие и маленькие), и всеми знаками.
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
07.10.2010, 20:26
Цитата Сообщение от R@Z()r Посмотреть сообщение
меняются, могут быть цифрами, буквами (англ, рус, большие и маленькие), и всеми знаками.
Неправильно выразился. Структура меняется?

То есть
Может быть
C#
1
2
текст \n текст \n текст \n "пам" "парам" "тра" "лала"
текст \n текст \n текст \n "парам" "парам" "парам" "парам"
А может

C#
1
2
текст \n текст \n текст \n "пам" "парам" "тра" "лала"
текст \n текст \n текст \n \t\t\t\n"пам"
0
10 / 12 / 2
Регистрация: 13.01.2010
Сообщений: 363
07.10.2010, 20:32  [ТС]
planar, в тексте может быть что угодно, но строки, с которыми надо работать, всё равно будут выглядить так
Code
1
\n"текст" "еще текст" "что-то ещё" "и ещё"\n
что может быть текстом я написал выше.
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
07.10.2010, 20:40
То есть так:
(что-то) \n "группа1"[space]"группа2"[space]"группа3"[space]"группа"\n
Правильно?
0
10 / 12 / 2
Регистрация: 13.01.2010
Сообщений: 363
07.10.2010, 20:43  [ТС]
planar, да, и во всём тексте их несколько.
0
мну довольно <(-__-)l
 Аватар для gGrn-7DA
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
07.10.2010, 22:14
из файлового потока читаешь строки бьешь их по пробелам и читаешь первый последние символы...
щас мб набросаю

Добавлено через 2 минуты
хотя нет тут какая то ошибка у меня...
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
07.10.2010, 22:16
Использовать следующее регулярное выражение

C#
1
"(?<g1>\w*?)"\s+?"(?<g2>\w*?)"\s+?"(?<g3>\w*?)"\s+?"(?<g4>\w*?)"
0
мну довольно <(-__-)l
 Аватар для gGrn-7DA
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
07.10.2010, 22:23
и что сделает это регвыр? найдет 4 выражения? я правильно понял?
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
07.10.2010, 22:26
а мне кажется проще регулярку
C#
1
\s".+"
и потом сплитануть то что найдется, там как раз будет все что первых кавычек до последних
точней на шарпе это будет
Code
1
string pattern = @"\s"".+""";
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
07.10.2010, 22:34
Цитата Сообщение от m0nax Посмотреть сообщение
\s".+"
Такая конструкция сожрет кавычки. Плюс, будут сложности при распознавании группы.
0
мну довольно <(-__-)l
 Аватар для gGrn-7DA
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
07.10.2010, 22:36
Вот - максимально просто. И, думаю, не уступит по быстродействию REGEX'у=)
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
32
33
34
35
36
37
38
using System;
using System.IO;
using System.Collections;
 
class fileparse
{
    public static void Main()
    {
        FileStream fs = new FileStream("C:\\111", FileMode.OpenOrCreate);
        char ch;
        long l = fs.Length;
        ArrayList al = new ArrayList();
        bool f = false;
        string s = "";
        while (l-- > 0)
        {
            ch = (char)fs.ReadByte();
            Console.Write(ch);//вывод содержимого файла
            if (!f) { if (ch == '\"') f = true; }
            else
            {
                if (ch != '\"') s += ch.ToString();
                else
                {
                    al.Add(s);
                    s = "";
                    f = false;
                }
            }
        }
        if (f) al.Add(s); // если количество кавычек нечетно, 
                             //то все символы после последней кавычки учитываются.
        fs.Close();
        Console.WriteLine("\n");
        foreach (object obj in al) Console.WriteLine("\"" + (string)obj + "\"");
        Console.ReadKey();
    }
}
Использовал файл с текстом:
Code
1
2
3
4
fgdsfg fg  dfhsf h " bhjvjc ckgc "      "jg " 
b hkv jhv hjv   
hgkgg gg g   gkg k  kg
"  ihigiyf  ifi did "
Результат:
Code
1
2
3
4
5
6
7
8
fgdsfg fg  dfhsf h " bhjvjc ckgc "      "jg "
b hkv jhv hjv
hgkgg gg g       gkg k  kg
"  ihigiyf  ifi did "
 
" bhjvjc ckgc "
"jg "
"  ihigiyf  ifi did "
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
07.10.2010, 22:37
Потом еще цикл надо сделать, что бы по группам разбил. Код в студию.
0
 Аватар для s-kvv
76 / 73 / 9
Регистрация: 09.06.2010
Сообщений: 206
08.10.2010, 11:16
Цитата Сообщение от gGrn-7DA Посмотреть сообщение
ch = (char)fs.ReadByte();
Эта строчка расчитана на то, что символ умещается в один байт. А это не всегда так
0
мну довольно <(-__-)l
 Аватар для gGrn-7DA
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
08.10.2010, 15:46
в другом случа при работе с русским/английским языками/символами будет выведено

<пробел><символ><пробел><символ>
'<пробел>' будет равен 0.
не летатьно по мне=)
а кодировки добавлять это муторно.и программа разбухнет до невообразимых конструкций=)

а так много еще что можно добавить, но думаю пока сойдет и столь приметивный вариант=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.10.2010, 15:46
Помогаю со студенческими работами здесь

Найти в строке и убрать не нужное
У нас есть строка string example = &quot;Вам выпало число: &lt;rnd0,100&gt;&quot; В которой мы должны заменить &quot;&lt;rnd0,100&gt;&quot; на рандом...

Найти нужное значение на листе
Есть столбец с датами. Даты отсортированы по возрастанию. Интервал между датами разный, например так: А В 1 ...

Как найти нужное гнездо?
Здравствуйте, помогите разобраться. Купил новый ssd c интерфейсом sata 3, в интсрукции к материнской плате указано что все порты сата 3.0...

Не могу найти нужное окно
Не могу найти нужное окно,все вкладки перерыл,не могу найти,нужно оно для сознаия базы данных (вот это)

Найти в тексте минимальное и максимальное слово в тексте и поменять местами
Найти в тексте минимальное и максимальное слово в тексте и поменять местами ( пожалуйста пример поиска минимального и максимального слова...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru