用撇号替换字符串中的字符 Google 张

Replacing the character in strings with apostrophes Google sheets

我的数据中有这样的字符串:bachelors

它是一个带有 X 的矩形(您在这里看不到 X)它显示在数据中存在 curlyapostrophes 的位置

我无法用 apostrophe '

替换字符

如果我对此 进行 G 搜索,我找到的最接近的匹配项是

Symbol  ⌧   
Name    x in a rectangle box    
Unicode number  U+2327

我尝试用脚本替换它们

str.replace(/[\U2327]/g, "'"); 要么 str.replace(/[\U+2327]/g, "'");

但是没用

嗯,我看到这个角色正在 post!

中迅速变成一个 postrophe

感谢您对此的任何帮助

Goole sheet shawing an example https://docs.google.com/spreadsheets/d/1WV1NHa0xX4GcSQD9xKUCJyfHmrcvwd3jqiJD20mqQlU/edit?usp=sharing

示例电子表格中的代码 ascii 似乎是 146

尝试

=SUBSTITUTE(A1,char(146),"'")

在脚本中

function myFunction() {
  str = SpreadsheetApp.getActiveSheet().getRange('A1').getValue()
  var pattern = String.fromCharCode(146);
  var regex = new RegExp(pattern, "g");
  Logger.log (str.replace(regex, "'"))
}

一种方法是尝试与撇号字符相关的各种字符。例如:

str = str.replace(/[⌧’‘`´]/g, "'")

如果您能够复制符号示例并将其粘贴到代码中,您甚至不需要猜测它是什么字符。你可以这样替换它:

function main() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var text = sheet.getRange('a1').getValue();      // here is your text
  var ch = text[24];                               // here is the symbol
  var reg = RegExp(ch, 'g')
  var new_text = text.replace(reg, "'");
  sheet.getRange('a2').setValue(new_text)
}

在这种特殊情况下,符号是 \u0092:

function main2() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var text = sheet.getRange('a1').getValue();
  var new_text = text.replace(/\u0092/g, "'");
  sheet.getRange('a3').setValue(new_text)
}