C++ में std::string के आरंभ और अंत से स्पेस कैसे हटाएं?
सभी को नमस्कार! मैं एक शुरुआती C++ डेवलपर हूं, और मेरे सामने एक सरल सी समस्या आई है: मुझे स्ट्रिंग के आरंभ और अंत से स्पेस (और सामान्यतः किसी भी whitespace कैरेक्टर) को हटाना है। मैं std::string के साथ काम कर रहा हूं।
मैंने loops और std::isspace के माध्यम से कैरेक्टर चेक करते हुए अपनी खुद की trim फंक्शन लिखने की कोशिश की, लेकिन कोड बहुत बड़ा और अकुशल लग रहा है। अब तक मैंने यह बनाया है:
```cpp
#include
#include
#include
std::string trim(std::string str) {
// आरंभ से स्पेस हटाएं
while (!str.empty() && std::isspace(str[0])) {
str.erase(0, 1);
}
// अंत से स्पेस हटाएं
while (!str.empty() && std::isspace(str[str.length() - 1])) {
str.erase(str.length() - 1, 1);
}
return str;
}
```
यह कोड काम करता है, लेकिन मुझे लगता है कि एक-एक कैरेक्टर हटाने के लिए बार-बार erase() कॉल करना बहुत धीमा है, खासकर लंबी स्ट्रिंग्स के लिए। साथ ही, मुझे यकीन नहीं है कि मेरा कोड सभी whitespace कैरेक्टर्स को सही ढंग से हैंडल करता है।