La calculadora de campos de uso, primero define un key:value
mapa con valores coincidentes para los caracteres laticos/arabeos. Algo así (aquí demostrado con caracteres cirílicos, ya que no conozco los árabes):
map('a','','b','','d','')
meaning:
a ->
b ->
d ->
Entonces puedes crear un array con todos los caracteres de tus cadenas de entrada y para cada uno buscar el correspondiente value
a este key
carácter. Como utilizamos una matriz, tenemos que volver a convertirla en una cadena y eliminar las comas de separación.
Así que la expresión completa se parece a lo que sigue, donde la línea 6 contiene el mapa que debes adaptar. text
en las líneas 4 y 7 es la cadena de entrada.
Como opción, puede definir las líneas 5 y 6 (el mapa clave:valor con caracteres coincidentes) como una variable de proyecto, llamémosla translit
y luego sustituir las líneas 5/6 de la siguiente expresión por eval(@translit)
(véase la segunda captura de pantalla).
replace (
array_to_string (
array_foreach (
generate_series (1,length(text)),
map_get(
map('a','','b','','d','','e','','g','','ž','','v','','z','','i','','j','','p','','P','','r','','s','','o','','L','','n','','B','','R','','m','','M',''),
substr( text, @element,1)
)
)
),
',',
''
)