C++ में std::string के आरंभ और अंत से रिक्त स्थान कैसे हटाएं?
सभी को नमस्कार! मैं एक नौसिखिया C++ डेवलपर हूं और उपयोगकर्ता इनपुट प्रोसेस करने के लिए एक सरल प्रोग्राम लिख रहा हूं। मुझे स्ट्रिंग के आरंभ और अंत से अतिरिक्त रिक्त स्थान (टैब और नई पंक्तियों सहित) हटाने की आवश्यकता है। उदाहरण के लिए, स्ट्रिंग " Hello, World! " को "Hello, World!" में बदलना चाहिए।
मुझे पता है कि C++ में std::string है, लेकिन मुझे trim के लिए कोई built-in method नहीं मिल रहा है। मैंने loops के माध्यम से अपना फंक्शन लिखने की कोशिश की, लेकिन कोड बोझिल और असुविधाजनक हो जाता है।
यहां मैंने जो करने की कोशिश की:
```cpp
std::string trim(std::string str) {
// आरंभ से रिक्त स्थान हटाना
while (str[0] == ' ') {
str.erase(0, 1);
}
// अंत से रिक्त स्थान हटाना
while (str[str.size() - 1] == ' ') {
str.pop_back();
}
return str;
}
```
लेकिन यह केवल सामान्य रिक्त स्थान के लिए काम करता है, टैब के लिए नहीं, और यह अप्रभावी लगता है। क्या C++ में ऐसा करने का कोई मानक तरीका है? क्या STL या Boost में कोई फंक्शन है? कृपया बताएं कि स्ट्रिंग को सही तरीके से कैसे trim करें ताकि सभी प्रकार के रिक्त स्थान शामिल हों।