Я думаю, это потому, что lower_case_text.IndexOf(c.Value)
находит индекс только первое совпадение в строке.
Быстрый взлом состоит в том, чтобы изменить lower_case_text
каждые для цикла.
Как: "dim что-то dimчто-то "
Найдя первое затемнение, замените его на что-нибудь такой же длины, как" 000 "
Так что ваш lower_case_text
теперь будет:" 000 что-то тусклое что-то "
И тогда вы сможете получить действительный индекс 2-й "дим"
Это не элегантное решение, но должно работать.
Надеюсь, что это сделал сеанс.