Обработка текста в C#. Определение места повторения.

Remart

Client
Регистрация
06.10.2016
Сообщения
52
Благодарностей
10
Баллы
8
Други, приветствую!

В С# не шарю, но в прошлый раз смог додумать, доизучить ваши коды и решить задачу. Поэтому прошу еще раз подмоги:

Есть переменная содержащая текст
А = мама мыла раму, потом еще раз мыла раму, а раме все по раме
Есть переменная, слово из текста
B = " рам"
(пробел впереди " рам")
Цель - вытащить все позиции B в А в пробелах или в знаках., Например
Результат в пробелах: 2, 7, 9, 12
Но мне кажется в знаках проще реализовать (у меня обработчик на знаках): 9, 25, 38, 50
т.е. переменная B начинается с 9 символа, потом с 25 и т.д.
Как удобнее вывести результат, чтобы потом его раскидать по переменным .. наверное уже не так важно (главное выгрузить результат).

Заранее благодарю.

PS. Понимаю, что тут цикл поиска в строке, но блин мозг не тянет :-)

PPS. Если будет проще и быстрее работать через учет символов не с начала строки, а с крайнего нахождения, то тоже вариант решения.
 

Ussssan

Новичок
Регистрация
03.08.2021
Сообщения
6
Благодарностей
1
Баллы
3
Не думаю что стоит пускать в обработку.
 

Remart

Client
Регистрация
06.10.2016
Сообщения
52
Благодарностей
10
Баллы
8

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
Други, приветствую!

В С# не шарю, но в прошлый раз смог додумать, доизучить ваши коды и решить задачу. Поэтому прошу еще раз подмоги:

Есть переменная содержащая текст
А = мама мыла раму, потом еще раз мыла раму, а раме все по раме
Есть переменная, слово из текста
B = " рам"
(пробел впереди " рам")
Цель - вытащить все позиции B в А в пробелах или в знаках., Например
Результат в пробелах: 2, 7, 9, 12
Но мне кажется в знаках проще реализовать (у меня обработчик на знаках): 9, 25, 38, 50
т.е. переменная B начинается с 9 символа, потом с 25 и т.д.
Как удобнее вывести результат, чтобы потом его раскидать по переменным .. наверное уже не так важно (главное выгрузить результат).

Заранее благодарю.

PS. Понимаю, что тут цикл поиска в строке, но блин мозг не тянет :-)

PPS. Если будет проще и быстрее работать через учет символов не с начала строки, а с крайнего нахождения, то тоже вариант решения.
C#:
string a = "мама мыла раму, потом еще раз мыла раму, а раме все по раме";
string b = "рам";
var c = a.ToLower().Split(' ').Select((k, i) => new {key = k, index = i})
    .Where(x => x.key.StartsWith(b.ToLower()))
    .Select(x => x.index.ToString());

return string.Join(", ", c);
 
  • Спасибо
Реакции: Remart

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 641
Баллы
113
Комментарий огонь! Емко, без претензий, однозначно отражает собственную позицию :-)
это бот. Последнее время таких нейтрально пустых комментов тут всё больше от новорегов
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113
это бот. Последнее время таких нейтрально пустых комментов тут всё больше от новорегов
кажется кто то освоил зеннопостер и теперь прокачивает новорегов, что бы они позже апали определенные темы в рекламном разделе :bk:
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 641
Баллы
113
кажется кто то освоил зеннопостер и теперь прокачивает новорегов, что бы они позже апали определенные темы в рекламном разделе :bk:
апай не апай, а если статуса клиента нет, доверия к комменту не много. Хотя это , наверно, справедливо только для местных
 

Remart

Client
Регистрация
06.10.2016
Сообщения
52
Благодарностей
10
Баллы
8
C#:
string a = "мама мыла раму, потом еще раз мыла раму, а раме все по раме";
string b = "рам";
var c = a.ToLower().Split(' ').Select((k, i) => new {key = k, index = i})
    .Where(x => x.key.StartsWith(b.ToLower()))
    .Select(x => x.index.ToString());

return string.Join(", ", c);
Все работает, Сергей, примного благодарствую! Здоровья Вам, семье и близким!
 
  • Спасибо
Реакции: SergSh

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)