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

  • Автор темы Автор темы Remart
  • Дата начала Дата начала

Remart

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

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

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

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

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

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

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

Есть переменная содержащая текст
А = мама мыла раму, потом еще раз мыла раму, а раме все по раме
Есть переменная, слово из текста
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
Комментарий огонь! Емко, без претензий, однозначно отражает собственную позицию :-)
это бот. Последнее время таких нейтрально пустых комментов тут всё больше от новорегов
 
это бот. Последнее время таких нейтрально пустых комментов тут всё больше от новорегов
кажется кто то освоил зеннопостер и теперь прокачивает новорегов, что бы они позже апали определенные темы в рекламном разделе :bk:
 
кажется кто то освоил зеннопостер и теперь прокачивает новорегов, что бы они позже апали определенные темы в рекламном разделе :bk:
апай не апай, а если статуса клиента нет, доверия к комменту не много. Хотя это , наверно, справедливо только для местных
 
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

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