This my actual scenario
const cleanString=( string )=>{
let city = getAccentedCity(string);
if( city.indexOf('%20')<0 ) return city;
return city.replaceAll('%20', ' ');
}
I have now to add an other case when a city contains the string "%c3%9f"
and i want to replace it with 's'
How can i add it in my current function?
First of all you should be aware that String.replaceAll()
function is not supported on IE.
If you're ok with it and I assume you are since you're already using it, then I would just create an array of pairs that you can spread into the replaceAll
function.
Something like this:
const replaceMap = [
['%20', ' '],
['%c3%9f', 's'],
];
const cleanString = (string) => {
let city = getAccentedCity(string);
replaceMap.forEach(pair => city = city.replaceAll(...pair));
return city;
}
Just add more tests if you do not want to rewrite the code
const cleanString= string => {
let city = getAccentedCity(string);
if (city.toLowerCase().indexOf('%c3%9f') >= 0 ) return city.replaceAll('%c3%9f', 's');
if (city.indexOf('%20') < 0) return city;
return city.replaceAll('%20', ' ');
}