Skip to content
Snippets Groups Projects
Commit d608fc84 authored by Andreas Blakli's avatar Andreas Blakli
Browse files

Oppdaterte rensStreng() funk i hjelpeFunksjoner.cpp.

parent fc43a7f8
No related branches found
No related tags found
No related merge requests found
...@@ -4,33 +4,44 @@ using namespace std; ...@@ -4,33 +4,44 @@ using namespace std;
string HjelpeFunksjoner::rensStreng(const string str) { string HjelpeFunksjoner::rensStreng(const string str) {
string rensetStreng, tmp, tmp2; string rensetStreng, tmp, tmp2;
int i = 0;
bool alle;
vector<string> ulovligeBokstaver = {
"Æ",
"æ",
"Ø",
"ø",
"Å",
"å"};
vector<string> lovligeBokstaver = {
"E",
"e",
"O",
"o",
"A",
"a"};
if (sjekkForUlovligTegn(str)) { if (sjekkForUlovligTegn(str)) {
regex re("[^ÆØÅæøåa-zA-Z0-9]"); regex re("[^ÆØÅæøåa-zA-Z0-9]");
rensetStreng = regex_replace(str, re, ""); rensetStreng = regex_replace(str, re, "");
} else } else
rensetStreng = str; rensetStreng = str;
// Hvordan c++ kompilatoren kan sammenligne strenger med if men ikke
// i en switch case er "beyond me". // Ikke den beste løsningen iom. at den looper gjennom strengen
// En annen løsning enn dette her kunne være å bruke en iterator som f.eks. replace. // flere ganger, en annen løsning kunne vært å bruke regex_replace igjen
// eller en ny regex replace som gjort ovenfor. for (const auto& ulovlig : ulovligeBokstaver) {
for (const char& c : rensetStreng) { // todo sjekk om problemer med char æøå i c. alle = false;
tmp.push_back(c); while (!alle) {
if (tmp == "Æ") size_t pos = rensetStreng.find(ulovlig);
tmp = "AE"; if (pos != string::npos)
else if (tmp == "Ø") rensetStreng.replace(pos,
tmp = "O"; ulovligeBokstaver[i].length(),
else if (tmp == "Å") lovligeBokstaver[i]);
tmp = "AA"; else
else if (tmp == "æ") alle = true;
tmp = "ae"; }
else if (tmp == "ø") i++;
tmp = "o";
else if (tmp == "å")
tmp = "aa";
tmp2 += tmp;
tmp.clear();
} }
rensetStreng = tmp2;
return rensetStreng; return rensetStreng;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment