How to extract text within parentheses from a string in C

1 Answer

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

char* extract_text_within_parentheses(char* str) {
    char* start = strchr(str, '(');

    if (!start) {
        return NULL;
    }

    char* end = strchr(start + 1, ')');
    if (!end) {
        return NULL;
    }

    char* extracted_text = malloc((end - start) + 1 * sizeof(char));
    strncpy(extracted_text, start + 1, end - start - 1);
    extracted_text[end - start - 1] = '\0';

    return extracted_text;
}

int main() {
    char str[] = "c c# java (programming) python";

    char* extracted_text = extract_text_within_parentheses(str);

    if (extracted_text) {
        printf("Extracted text: %s", extracted_text);
        free(extracted_text);
    }
    else {
        printf("No parentheses found");
    }

    return 0;
}




/*
run:

Extracted text: programming

*/

 



answered Dec 4, 2023 by avibootz
...