How to extract a substring between two tags using RegEx in C#

1 Answer

0 votes
using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string str = "abcd <tag>efg hijk lmnop</tag> qrst uvwxyz";

        // Call the function to extract the substring
        string content = ExtractContentBetweenTags(str, "tag");

        if (!string.IsNullOrEmpty(content)) {
            Console.WriteLine($"Extracted content: {content}");
        }
        else {
            Console.WriteLine("No matching tags found.");
        }
    }

    // Function to extract content between specified tags
    static string ExtractContentBetweenTags(string str, string tagName) {
        // Build a regex pattern using the specified tag name
        string pattern = $@"<{tagName}>(.*?)</{tagName}>";
        
        // Use Regex to match the pattern
        Match match = Regex.Match(str, pattern);

        if (match.Success) {
            // Return the content inside the tags
            return match.Groups[1].Value;
        }

        // Return an empty string if no match is found
        return string.Empty;
    }
}


 
/*
run:
     
Extracted content: efg hijk lmnop
 
*/

 



answered Apr 2, 2025 by avibootz
edited Apr 2, 2025 by avibootz
...