es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Encontrando todo el texto entre marcadores en C# y modificando cada instancia encontrada.

Tengo una cadena proveniente de una fuente externa que contiene marcadores de inicio y fin (dos asteriscos) alrededor de un texto importante. Estoy mostrando este texto en un archivo html y necesito analizar la cadena primero con C# y poner en negrita cualquier texto marcado, incluyendo los marcadores.

Espero que lo siguiente muestre lo que intento lograr…

“`c#
public static void Main()
{
string orginalText = "Gato perro <em>* mono <em></em> lagarto hamster <em></em> pez *</em> rana";

<pre><code> Console.WriteLine(ReplaceMarkedText(orginalText));
}

string ReplaceMarkedText(string text)
{
// Esto es lo más cercano que he llegado hasta ahora, pero sólo funciona con un par de asteriscos.
var matches = Regex.Match(text, @"\*\*([^)]*)\*\*").Groups;
string newText = text.Replace("**", string.Empty);
foreach (Group match in matches)
{
if (match.Value.Length > 0)
{
newText = newText.Replace(match.Value, "<b>**" + match.Value + "**</b>");
}
}

return newText;
}
</code></pre>

“`
Lo que quiero ver en la salida de la consola: Gato perro <b>** mono **</b> lagarto hamster <b>** pez **</b> rana

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    “`c#
    public static void Main()
    {
    string orginalText = “Gato perro ** mono ** lagarto hámster ** pez ** rana”;

    Console.WriteLine(ReplaceMarkedText(orginalText));
    

    }

    string ReplaceMarkedText(string text)
    {
    // Esto es lo más cercano que he llegado hasta ahora, pero solo funciona con un par de asteriscos.
    var matches = Regex.Matches(text, @”**([^)]*)**”);
    string newText = text;
    foreach (Match match in matches)
    {
    if (match.Value.Length > 0)
    {
    newText = newText.Replace(match.Value, “” + match.Value + ““);
    }
    }

    return newText;
    

    }
    “`

    Lo que quiero ver en la salida de la consola: Gato perro <b>** mono **</b> lagarto hámster <b>** pez **</b> rana.

Comments are closed.