none
¿Como agregar texto a una cadena? RRS feed

  • Pregunta

  • Hola ...

    Tengo una cadena y nesecito buscar las etiquetas <a:t> </a;t> y escribir un texto dentro

    ¿Como puedo hacerlo?

    Ejemplo de la cadena:

    <p:nvSpPr xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
    <p:cNvPr id="2" name="Título 1" />
    <p:cNvSpPr>
    <a:spLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noGrp="1" />
    </p:cNvSpPr><p:nvPr><p:ph type="title" />
    </p:nvPr>
    </p:nvSpPr>
    <p:spPr xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" />
    <p:txBody xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
    <a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
    <a:normAutofit />
    </a:bodyPr>
    <a:lstStyle xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
    <a:p xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
    <a:r><a:rPr lang="es-VE" sz="3200" smtClean="0"><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0" />
    </a:rPr>
                  <a:t>AQUI ESCRIBIR EL TEXTO QUE NESECITO</a:t>
    </a:r>
    <a:endParaRPr lang="en-US" sz="3200">
    <a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0" />
    </a:endParaRPr></a:p></p:txBody>


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    viernes, 2 de octubre de 2020 23:30

Respuestas

  • Hola Efrain

    Tendrías que obtener el índice, en la cadena, de "<a:t>", e insertar la subcadena en ese índice más la longitud de "<a:t>". En el código siguiente, texto es el string que mostras, y cadena es el string a insertar.

    private bool InsertaCadena(string cadena)
    {
        int indice = texto.IndexOf("<a:t>");
    
        if (indice == -1)  // si no está devuelve false
            return false;
    
        // asigna a texto lo mismo con la cadena insertada
        texto = texto.Insert(indice + "<a:t>".Length, cadena);
    
        return true;
    }

    Saludos

    Pablo




    viernes, 2 de octubre de 2020 23:59
  • La solucion corta? Expresiones regulares!

    string miTexto = "AQUI ESCRIBIR EL TEXTO QUE NESECITO";
    string resultado = Regex.Replace(texto, @"<a:t(.*?)>(.*?)</a:t>","<a:t>" + miTexto + "</a:t>");

    Saludos,

    Anibal Marcano

    sábado, 3 de octubre de 2020 11:05
  • Hola Efraín,

    Debido a que ya tienes una respuesta, vamos a cerrar el hilo. Si tienes alguna otra consulta, por favor utiliza los foros de MSDN. Es un placer atender tus consultas.

    Saludos

    lunes, 5 de octubre de 2020 15:35
    Moderador

Todas las respuestas

  • Hola Efrain

    Tendrías que obtener el índice, en la cadena, de "<a:t>", e insertar la subcadena en ese índice más la longitud de "<a:t>". En el código siguiente, texto es el string que mostras, y cadena es el string a insertar.

    private bool InsertaCadena(string cadena)
    {
        int indice = texto.IndexOf("<a:t>");
    
        if (indice == -1)  // si no está devuelve false
            return false;
    
        // asigna a texto lo mismo con la cadena insertada
        texto = texto.Insert(indice + "<a:t>".Length, cadena);
    
        return true;
    }

    Saludos

    Pablo




    viernes, 2 de octubre de 2020 23:59
  • pruebo y te comento 
    Avatar de Tigre Pablito
    Tigre Pablito

    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    sábado, 3 de octubre de 2020 0:02
  • hola

    Eso parece ser un xml, pero no le veo mucha estructura coherente, de donde lo obtienes? esta completo o solo es una parte?

    deberias procesarlo con librerias como ser XmlDocument o Linq to Xml

    para los profijos debes definirles el namespaces asi encontrara el nodo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 3 de octubre de 2020 3:26
  • La solucion corta? Expresiones regulares!

    string miTexto = "AQUI ESCRIBIR EL TEXTO QUE NESECITO";
    string resultado = Regex.Replace(texto, @"<a:t(.*?)>(.*?)</a:t>","<a:t>" + miTexto + "</a:t>");

    Saludos,

    Anibal Marcano

    sábado, 3 de octubre de 2020 11:05
  • Hola Efraín,

    Debido a que ya tienes una respuesta, vamos a cerrar el hilo. Si tienes alguna otra consulta, por favor utiliza los foros de MSDN. Es un placer atender tus consultas.

    Saludos

    lunes, 5 de octubre de 2020 15:35
    Moderador