Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/165: Рейтинг темы: голосов - 165, средняя оценка - 4.93
2 / 2 / 1
Регистрация: 12.03.2015
Сообщений: 99

Вытянуть из строки текст между определенными символами

24.03.2015, 12:44. Показов 32592. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, ранее писал на делфи, и вот начал учить c#
Столкнулся с такой проблемой. Если мне нужно было вытянуть из строки текст между определенными символами - я использовал вот такую функцию на делфи
Delphi
1
2
3
4
5
6
7
8
9
10
11
function Parse(T_, ForS, _T: string): string;
var a, b: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then Exit;
a := Pos(T_, ForS);
if a = 0 then Exit else a := a + Length(T_);
ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
if b > 0 then Result := Copy(ForS, 1, b - 1);
end;
Parse('123', '123самплетекст234', 234) = самплетекст. Парсит между цифрами 123 и 234

Может в c# есть готовые стандартные функции для такого? если нету, то как реализовать это на c#?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2015, 12:44
Ответы с готовыми решениями:

Как скопировать текст между определёнными символами?
Есть текст, занесён в переменную s. В нем в некоторых местах стоят символы "" и "". Нужно скопировать в текстовую переменную...

Удалить из строки всё между определенными символами
В строке например мусор вида "1 ... ... ... ... ... 1". Пример строки с мусором: "aaa "1 bbb 1" ccc" Нужно удалить мусор,...

Считывать куски строки между определенными символами
Граждане прошу помощи так как сама не сильно программирую. Вот моя задача. Дана строка поле Edit1: Edit1.Text:='p110001p0002p0003p';...

8
13 / 13 / 9
Регистрация: 21.08.2014
Сообщений: 44
24.03.2015, 12:53
string.Split();

Не совсем то, но возвращает строки разделенные символом/строкой

https://msdn.microsoft.com/ru-... .110).aspx

Пример:

C#
1
2
3
4
5
string str = "Слово1#Слово2#Слово3";
var str2 = str.Split('#');
//str2[0] = Слово1
//str2[1] = Слово2
//str2[2] = Слово3
Как-то так...
0
2 / 2 / 1
Регистрация: 12.03.2015
Сообщений: 99
24.03.2015, 13:50  [ТС]
Совсем не то, мне из html придется парсить куски кода.

Parse('"chid" : "', data, '"');
0
Заблокирован
24.03.2015, 13:56
Для любого парсинга лучше всего использовать регулярки
0
2 / 2 / 1
Регистрация: 12.03.2015
Сообщений: 99
24.03.2015, 14:00  [ТС]
Решил написанием такой функции
C#
1
2
3
4
5
6
7
public static string Parse (string T_, string ForS, string _T)
        {
            if(T_.Length == 0 || ForS.Length == 0 || _T.Length == 0) return "";
            string s = ForS;
            int istart = s.IndexOf(T_) + T_.Length;
            return s.Substring(istart, s.IndexOf(_T) - istart);             
        }
0
19 / 19 / 9
Регистрация: 31.05.2011
Сообщений: 31
24.03.2015, 14:00
C#
1
2
var rg = new Regex(@"123(.*)234");
var result = rg.Match("123самплетекст234").Groups[1].Value; //самплетекст
2
25.03.2015, 13:54

Не по теме:

iflight, для строки "123сампл234етекст234" вытянет "сампл234етекст", поэтому, нужно указывать ленивый модификатор "*?"

0
2 / 2 / 1
Регистрация: 12.03.2015
Сообщений: 99
26.03.2015, 09:26  [ТС]
как указать ленивый модификатор?
0
19 / 19 / 9
Регистрация: 31.05.2011
Сообщений: 31
28.03.2015, 21:00
BozKurt же написал - вопросительный знак, т.е. в итоге будет так:
C#
1
2
var rg = new Regex(@"123(.*?)234");
var result = rg.Match("123самплетекст234").Groups[1].Value; //самплетекст
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.03.2015, 21:00
Помогаю со студенческими работами здесь

Перемещение и копирование частей строки, расположенных между определёнными символами, в новые строки
День добрый! Прошу Вашей помощи, задача следующая: есть txt файл следующего содержания: Необходимо во всех строках где есть...

Нужно извлечь текст между определенными символами (в строке они встречаются несколько раз)
нужно из строки текста, содержащего и точки, и двоеточия (их может быть несколько), извлечь часть текста, находящуюся слева от самого...

Вытянуть слово между символами
Имеется такая задача : 1.с текста нужно получить слова которые находятся между цифрой "2" и двоеточием ":" 2.перед...

Поиск подстроки между определенными символами
Здравствуйте! Помогите плиз,как это можно реализовать. Допустим у нас есть строка: Мы с мамой пошли в парк им. Горького, а потом...

Регулярка, отлавливающая текст, который не заканчивается определенными символами
Добрый день! Задача есть такая - отловить ссылки вида /catalog/название категории, которые не заканчиваются на определённое слово....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru