स्ट्रिंग से कोट्स हटाना

C:
स्ट्रिंग से कोट्स हटाना

कैसे करें:

C में किसी स्ट्रिंग से उद्धरण चिह्नों को हटाने के लिए, हम स्ट्रिंग को पार करते हैं, नई स्ट्रिंग में उद्धरण चिह्नों को छोड़कर अक्षरों की प्रतिलिपि बनाते हैं। यह प्रक्रिया या तो केवल प्रमुख और पिछले उद्धरण चिह्नों को हटाने या स्ट्रिंग में मौजूद सभी उद्धरण चिह्नों को हटाने के लिए अनुकूलित की जा सकती है। नीचे दोनों दृष्टिकोणों को दर्शाने वाला उदाहरण दिया गया है:

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

// स्ट्रिंग से सभी उद्धरण चिह्नों को हटाने के लिए फंक्शन
void removeAllQuotes(char *source, char *dest) {
    while (*source) {
        if (*source != '"' && *source != '\'') {
            *dest++ = *source;
        }
        source++;
    }
    *dest = '\0'; // गंतव्य स्ट्रिंग को Null-terminate करें
}

// स्ट्रिंग से केवल प्रमुख और पिछले उद्धरण चिह्नों को हटाने के लिए फंक्शन
void removeEdgeQuotes(char *source, char *dest) {
    size_t len = strlen(source);
    if (source[0] == '"' || source[0] == '\'') source++, len--;
    if (source[len-1] == '"' || source[len-1] == '\'') len--;
    strncpy(dest, source, len);
    dest[len] = '\0'; // गंतव्य स्ट्रिंग को Null-terminate करें
}

int main() {
    char str1[] = "'Hello, World!'";
    char str2[] = "\"Programming in C\"";
    char noQuotes1[50];
    char noQuotes2[50];
    
    removeAllQuotes(str1, noQuotes1);
    printf("All Quotes Removed: %s\n", noQuotes1);
    
    removeEdgeQuotes(str2, noQuotes2);
    printf("Edge Quotes Removed: %s\n", noQuotes2);
    
    return 0;
}

नमूना आउटपुट:

All Quotes Removed: Hello, World!
Edge Quotes Removed: Programming in C

ये उदाहरण दिखाते हैं कि स्ट्रिंग में मौजूद सभी उद्धरण चिह्नों को हटाना और केवल प्रमुख और पिछले उद्धरण चिह्नों को लक्ष्य करके हटाना कैसे संभालता है।

गहराई से जानकारी

सी में स्ट्रिंग्स से उद्धरण चिह्नों को हटाने की अवधारणा का प्रारंभिक पाठ प्रक्रियाओं की जरूरतों के साथ गहरा ऐतिहासिक महत्व नहीं है। यहाँ प्रदर्शित सीधी दृष्टिकोण बहुमुखी है लेकिन बहुत बड़ी स्ट्रिंग्स या उच्च-प्रदर्शन आवश्यकताओं के लिए कुशलता में कमी हो सकती है, जहां स्थान में संशोधन या अधिक उन्नत एल्गोरिदम पसंद किए जा सकते हैं।

strpbrk का उपयोग करके उद्धरण चिह्नों को खोजने और स्ट्रिंग के गैर-उद्धरण भाग को स्थानांतरित करने जैसे विकल्प अधिक कुशल हो सकते हैं लेकिन C में संकेतकों और मेमोरी प्रबंधन की गहरी समझ की आवश्यकता होती है। इसके अलावा, नियमित अभिव्यक्ति लाइब्रेरीज़ के उदय ने समेत उद्धरण चिह्न हटाने के लिए एक शक्तिशाली उपकरण प्रदान की है। हालांकि, ये लाइब्रेरीज़, जबकि शक्तिशाली होती हैं, जटिलता और ओवरहेड जोड़ती हैं जो सरल कार्यों के लिए आवश्यक नहीं हो सकती। परिणामस्वरूप, दिखाया गया सीधा दृष्टिकोण, C प्रोग्रामर्स के लिए एक मूल्यवान कौशल बना हुआ है, सादगी के साथ कई सामान्य उपयोग-मामलों के लिए प्रभावशीलता को मिलाते हुए।