How to extract a substring within 2 square brackets in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>

void extractBracketedContent(const char *text) {
    int inside = 0;
    char buffer[256];
    int index = 0;

    for (int i = 0; text[i] != '\0'; ++i) {
        if (text[i] == '[') {
            inside = 1;
            index = 0;
        } else if (text[i] == ']' && inside) {
            buffer[index] = '\0';
            printf("%s\n", buffer);
            inside = 0;
        } else if (inside) {
            if (index < sizeof(buffer) - 1) {
                buffer[index++] = text[i];
            }
        }
    }
}

int main() {
    const char *input = "This is a [sample] string with [multiple] square brackets.";
    
    extractBracketedContent(input);
    
    return 0;
}



/*
run:

sample
multiple

*/

 



answered Jul 19, 2025 by avibootz
...