Advertisement
nikunjsoni

1410

Mar 29th, 2021
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     string entityParser(string text) {
  4.         unordered_map<string, char> m;
  5.         m["&quot;"] = '"';
  6.         m["&apos;"] = '\'';
  7.         m["&amp;"] = '&';
  8.         m["&gt;"] = '>';
  9.         m["&lt;"] =  '<';
  10.         m["&frasl;"] = '/';
  11.        
  12.         string ans = "";
  13.         int sz = text.length();
  14.         for(int i=0; i<sz; i++){
  15.             if(text[i] == '&'){
  16.                 string tmp = "&"; i++;
  17.                 while(i < sz){
  18.                     tmp += text[i];
  19.                     if(text[i] == ';' && m.find(tmp) != m.end()){
  20.                         ans += m[tmp];
  21.                         break;
  22.                     }
  23.                     if(text[i] == '&'){
  24.                         ans += tmp.substr(0, tmp.length()-1);
  25.                         i--;
  26.                         break;
  27.                     }
  28.                     i++;
  29.                 }
  30.                 if(i == sz) ans += tmp;
  31.             }
  32.             else{
  33.                 ans += text[i];
  34.             }
  35.         }
  36.         return ans;
  37.     }
  38. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement