GString RemoveComments(const GString Str) { GString Result; int k = 0; int AwatingEOL = 0; ptrdiff_t len = Str.length() - 1; for (ptrdiff_t i = 0; i < len; i++) { if (AwatingEOL) { if (Str[i] != '\n') continue; else { AwatingEOL = 0; continue; } } else { if (Str[i] == '/' && Str[i + 1] == '/') { AwatingEOL = true; continue; } else { Result.push_back(Str.at(i)); k++; } } } Utility::ReplaceAll(Result, "[\\n\\r ]", ""); return Result; }