"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso encontrar todas as ocorrências de uma substring dentro de uma string maior em C#?

Como posso encontrar todas as ocorrências de uma substring dentro de uma string maior em C#?

Postado em 2025-03-23
Navegar:730

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

encontrando todas as posições de substring em uma sequência maior em C#

ao trabalhar com seqüências grandes, localizando todas as instâncias de uma substring específica pode ser crucial para análise e análise de dados. Este artigo aborda o desafio de encontrar todas essas instâncias e armazenar seus índices em uma lista. Dentro dessa sequência, você precisa identificar e armazenar as posições de cada ocorrência de uma substring específica. Vamos assumir que a string de exemplo é "extrair \" (eu, eu tenho lotes. de uma substring. if (string.isnullorEmpty (valor)) lançar uma nova argumentException ("a string a encontrar pode não estar vazia", ​​"valor"); List indexes = new List (); for (int index = 0 ;; index = value.length) { índice = str.indexOF (valor, índice); if (index == -1) Índices de retorno; indexes.add (índice); } }

Método 2: alternativamente, um iterador também pode ser usado para produzir os índices sequencialmente:

public static ienumerable allIndexeSof (esta string str, string value) { if (string.isnullorEmpty (valor)) lançar uma nova argumentException ("a string a encontrar pode não estar vazia", ​​"valor"); for (int index = 0 ;; index = value.length) { índice = str.indexOF (valor, índice); if (index == -1) quebrar; Índice de retorno de rendimento; } }

Ambos os dois métodos podem ser facilmente adicionados a qualquer objeto String, tornando conveniente encontrar todas as posições de substring. Por exemplo, a linha a seguir encontraria todas as ocorrências de substring "foo" dentro da string "fooostringfoobar": list indexes = "foostringfoobar" .allindexESOF ("foo");

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3