Si el contenido de las celdas en la hoja de Google es como se muestra en la siguiente imagen:
Luego, en Apps Script, ¿cómo podemos verificar si incluye letras Gujarati o no?
function containsGujaratFont() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("SheetNameToWriteHere"); var vals = sheet.getRange("B1:B3").getValues(); vals.forEach(r => { Logger.log(includesGujaratiFont(r[0])); }); } function includesGujaratiFont(str){ // some coding to identify if str contains Gujarati characters or not if(itContainsGujaratiFont){ return true; }else{ return false; } }El registro debe ser:
true false truePor ejemplo, cuando se utiliza esta información , se considera que el rango de Unicode es \u0A80-\u0AFF . Cuando este rango se usa en su secuencia de comandos, se convierte en lo siguiente.
En este caso, se modifica su función de includesGujaratiFont .
function includesGujaratiFont(str){ return /^[\u0A80-\u0AFF]+$/.test(str); } En esta modificación, cuando todos los caracteres en un valor de celda son gujarati, se devuelve true .
Si desea devolver true , al menos cuando uno de los caracteres en un valor de celda es gujarati, modifíquelo de la siguiente manera.
De
return /^[\u0A80-\u0AFF]+$/.test(str);A
return /[\u0A80-\u0AFF]/.test(str);No necesita usar el script de la aplicación para hacer esto. Puede usar la función DETECTLANGUAGE dentro de las hojas de Google.
Si ingresa la siguiente fórmula en la celda B2, donde su texto está en A2, la fórmula generará GU para Gujarati.
=detectlanguage(A2)La única limitación de esta función es que si la celda contiene dos idiomas, es decir, gujarati e inglés, solo funcionará para el primer elemento de texto.