如何知道一个单元格是否包含古吉拉特语或英文字母?
How to know whether a cell contains Gujarati or English letters?
如果Googlesheet中的单元格内容如下图:
那么在 Apps Script 中,我们如何检查它是否包含古吉拉特语字母。
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;
}
}
日志应该是:
true
false
true
您不需要使用应用脚本来执行此操作。您可以在 google 张中使用 DETECTLANGUAGE 功能。
如果您在单元格 B2 中输入以下公式,而您的文本位于 A2 中,则该公式将输出古吉拉特语的 GU。
=detectlanguage(A2)
此函数的唯一限制是如果单元格包含两个语言,即古吉拉特语和英语,它将仅适用于第一个文本元素
例如使用this information时,认为Unicode的范围是\u0A80-\u0AFF
。当这个范围在你的脚本中使用时,它变成如下。
修改后的脚本:
在这种情况下,您的includesGujaratiFont
函数被修改了。
function includesGujaratiFont(str){
return /^[\u0A80-\u0AFF]+$/.test(str);
}
在此修改中,当单元格值中的所有字符均为古吉拉特语时,true
为 returned。
如果要returntrue
,至少当单元格值中的一个字符是古吉拉特语时,请修改如下。
来自
return /^[\u0A80-\u0AFF]+$/.test(str);
到
return /[\u0A80-\u0AFF]/.test(str);
参考文献:
如果Googlesheet中的单元格内容如下图:
那么在 Apps Script 中,我们如何检查它是否包含古吉拉特语字母。
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;
}
}
日志应该是:
true
false
true
您不需要使用应用脚本来执行此操作。您可以在 google 张中使用 DETECTLANGUAGE 功能。
如果您在单元格 B2 中输入以下公式,而您的文本位于 A2 中,则该公式将输出古吉拉特语的 GU。
=detectlanguage(A2)
此函数的唯一限制是如果单元格包含两个语言,即古吉拉特语和英语,它将仅适用于第一个文本元素
例如使用this information时,认为Unicode的范围是\u0A80-\u0AFF
。当这个范围在你的脚本中使用时,它变成如下。
修改后的脚本:
在这种情况下,您的includesGujaratiFont
函数被修改了。
function includesGujaratiFont(str){
return /^[\u0A80-\u0AFF]+$/.test(str);
}
在此修改中,当单元格值中的所有字符均为古吉拉特语时,
true
为 returned。如果要return
true
,至少当单元格值中的一个字符是古吉拉特语时,请修改如下。来自
return /^[\u0A80-\u0AFF]+$/.test(str);
到
return /[\u0A80-\u0AFF]/.test(str);