How to replace multiple characters in a string in Haskell?

As @AJFarmar pointed out, you are probably implementing Esperanto's X-system [wiki]. Here all items that are translated are digraphs that end with x, the x is not used in esperato itself. We can for example use explicit recursion for this:

xSistemo :: String -> String
xSistemo (x:'x':xs) = replaceChar x : xSistemo xs
xSistemo (x:xs) = x : xSistemo xs
xSistemo [] = []

where we have a function replaceChar :: Char -> Char, like:

replaceChar :: Char -> Char
replaceChar 's' = 'ŝ'
-- ...

This then yields:

Prelude> xSistemo "sxi"
"\349i"
Prelude> putStrLn (xSistemo "sxi")
ŝi