«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу найти все входы подстроения в большей строке в C#?

Как я могу найти все входы подстроения в большей строке в C#?

Опубликовано в 2025-03-23
Просматривать:641

How Can I Find All Occurrences of a Substring within a Larger String in C#?

Нахождение всех позиций подстроения в более крупной строке в C#

При работе с большими строками определение всех экземпляров конкретной подстроки может иметь решающее значение для анализа анализа и данных. В этой статье рассматривается задача поиска всех таких экземпляров и хранения их индексов в списке.

Запись задания

У вас есть большая строка, которую вам нужно проанализировать. В рамках этой строки вам необходимо идентифицировать и сохранить позиции каждого появления определенной подстроки. Предположим, что примером строки является «Extract \» (Me, I-Have Lots.] Пунктуация. Однако, чтобы найти все входы, нам нужно использовать цикл для итерации через строку и продолжить поиск, пока не найдены больше экземпляров. if (string.isnullorempty (значение)) бросить новое аргумент Exception («строка, чтобы найти, может быть не пустой», «value»); Список indexes = новый список (); for (int index = 0 ;; index = value.length) { index = str.indexof (значение, индекс); if (index == -1) Вернуть индексы; indexes.add (index); } }

Метод 2: Альтернативно, итератор также может использоваться для получения индексов последовательно:

public static ienumerable allidexesof (эта строка String value) { if (string.isnullorempty (значение)) бросить новое аргумент Exception («строка, чтобы найти, может быть не пустой», «value»); for (int index = 0 ;; index = value.length) { index = str.indexof (значение, индекс); if (index == -1) перерыв; Индекс возврата доходности; } }

оба эти метода могут быть легко добавлены в любой строковый объект, что делает удобным найти все позиции подстроения. Например, следующая строка найдет все входы подстроения «foo» в строке «foostringfoobar»:

]

list indexes = "foostringfoobar" .allindexesof ("foo");

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3