Pergunta

Eu estou trabalhando em um bot wiki para as minhas comunidades wiki que utiliza o DotNetWikiBot Framework; é encontrar uma palavra que é comumente um erro de digitação (como "abilty") e substitui-los com a correção (como "habilidade").

Isso funciona como se é codificado:

p.text = p.text.Replace(@"\b" + typoArray[x, 0] + @"\b", typoArray[x, 1]);

No entanto, este irá substituir "Abilty", com "capacidade", que é, naturalmente, vai questões causam, mas eu não consigo descobrir como preservar o caso da palavra substituída (por isso Abilty se torna Ability) a menos que a substituição erro de digitação se destina a ser capitalizado, não importa o que ele está substituindo: Januray a janeiro

Foi útil?

Solução

Eu acho que você vai fazer melhor uso de expressões regulares do namespace System.Text.RegularExpressions.

Regex.Replace (str, "[A]", "Z"); ou alguma variante dele. As expressões regulares são poderosos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top