Post-comma substitution in C #

0

Personal I'm using Visual Studio 2015 and would like and would like to replace a text for after the second comma. If the ID is the same (in case 501) it replaces the translation after the 2nd (and before the 3rd)

Example:

File with translations:

501
Poção Vermelha

File to be translated:

501,Red_Potion,Red Potion,xxx

Final result:

501,Red_Potion,Poção Vermelha,xxx

The non-comma file is in TextBox1 and the comma is in TextBox2

    
asked by anonymous 20.08.2018 / 16:14

2 answers

0

Simply put, you can do this with a Split :

string[] split = textBox1.Text.Split(',');
split[2] = "Poção Vermelha";
textBox2.Text = string.Join(",", split);
    
31.08.2018 / 14:46
0

Try this:

// traducoes
var traducoes = new List<String> { "501", "Poção Vermelha" };

// texto
var linha = "501,Red_Potion,Red Potion,xxx";

//divide os itens por vírgula
var itens = linha.Split(',');

//id para procurar no arquivo de tradução
var id = itens[0];

//pega o índice do id nas traduções
var indexId = traducoes.IndexOf(id);

//verifica se achou o id nas traduções e se existe uma linha após ele
if(indexId != -1 && indexId + 1 < traducoes.Count)
{
    //tradução encontrada pelo id no arquivo           
    var traducao = traducoes[indexId + 1];

    //faz a troca
    itens[2] = traducao;

    //une as partes novamente
    linha = string.Join(",", itens);
}
    
28.08.2018 / 14:14