【发布时间】:2015-03-23 16:13:34
【问题描述】:
正则表达式:删除 TAB \t 选项卡 var regex = /\s[A-Za-z]+/g 不起作用
selectFirstEmptyRow function () {
var ss = SpreadsheetApp.openByUrl ("https://docs.google.com/spreadsheets/d/---ID-----edit#gid=395019283");
var date = Utilities.formatDate(new Date() ss.getSpreadsheetTimeZone(), "d" + "- 0" + "M" + "-" + "y");
var sheet = ss.getSheetByName(date);
var regex = /[^0-9]*/g; // extract the string before digital channel
var doc = DocumentApp.getActiveDocument().getText()
var result = RegExp.exec(doc);
// * Extract white \ s match any white space character [\ r \ n \ t \ f]
var regex = /\s[A-Za-z]+/g; // extract the spaces in front of and behind "Name Surname"
RegExp.exec var result = (result);
sheet.setActiveSelection(sheet getRange ("B" + getFirstEmptyRowWholeRow())).setValue(result);
Logger.log(result.getText);
我无法使用语法删除标签 \t 和换行符 \n
var regex = /\s[A-Za-z]+/g;
当我将string "Name Surname" 插入电子表格时,它前面还有一行。
经过分析,问题似乎是标签\t,它没有被删除。
我尝试从"text document" 中提取一个字符串(它始终位于文档顶部,直到第一个数字链)并在第一个框真空列@987654331 的位置放入“电子表格文档”电子表格@。
在同一个"text document" 中处理这个字符串并没有给我使用语法更新年龄带来任何问题
var regex = /[^0-9]*/g; // extract the string before a digit
文档中的字符串:
var str = '\n\n\n\Surname NAME\n34 Years\n\n......... .. "
这是完整的脚本:
/// var result = result.replace(/^[\r\n]+|.|[\r\n]+$/g, "");// extrait les espaces devant et derriere Nom Prenom气体不工作
///// Facturer Acte ////
function FacturerActe() {
var regexp = /[^0-9]*/g ;// extrait la chaine de caractère avant la chaine numérique
var doc = DocumentApp.getActiveDocument().getText();
var result = regexp.exec(doc);
var PrenomNom = new RegExp(result,"gm");
Logger.log(PrenomNom.getText);
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/19rWt8JEGbYM29-W4tI2gj6peXR3hjvj51FxDFt2gFkU/edit#gid=395019283");
var date = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone() , "d"+"-"+"mm"+"-"+"y");
var sheet = ss.getSheetByName(date);
ss.setActiveSheet(sheet);
var cell = sheet.getRange("A40");
cell.setNote("Aujourd'hui est un nouveau jour ! Nous sommes le :"+date);
selectFirstEmptyRow(); // Place le curseur sur la premiere ligne Vide de la Colonne "B"
}
//* Placez le curseur de l'utilisateur actuel dans la première cellule de la première ligne vide.
//*
function selectFirstEmptyRow() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/19rWt8JEGbYM29-W4tI2gj6peXR3hjvj51FxDFt2gFkU/edit#gid=395019283");
var date = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone() , "d"+"-"+"mm"+"-"+"y");
var sheet = ss.getSheetByName(date);
var regexp = /[^0-9]*/g ;// extrait la chaine de caractère avant la chaine numérique
var doc = DocumentApp.getActiveDocument().getText();
var result = regexp.exec(doc);
var regexp = /\s[A-Z a-z]+/g ;// extrait les espaces devant et derriere Nom Prenom
//* Extrait les blancs
var result = regexp.exec(result);
/// var result = result.replace(/^[\r\n]+|\.|[\r\n]+$/g, "");// extrait les espaces devant et derriere Nom Prenom GAS D'ONT WORK
sheet . setActiveSelection (sheet.getRange("B" + getFirstEmptyRowWholeRow())).setValue(result);
Logger.log(result.getText);
}
/**
* " Trouve la première ligne vide la Colonne "B" " de checker de Mogsdad.
*/
function getFirstEmptyRowWholeRow () {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/19rWt8JEGbYM29-W4tI2gj6peXR3hjvj51FxDFt2gFkU/edit#gid=395019283");
var date = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), "d"+"-"+"mm"+"-"+"y");
var sheet = ss.getSheetByName(date);
var range = sheet.getDataRange();
var values = range.getValues();
var row = 1 ;
for (var row = 1; row < values.length; row ++) {
if (!values[ row ].join("")) break ;
}
return (row + 1);
}
///// Fin Facturer Acte ////
【问题讨论】:
-
我没有看到为正则表达式变量创建的任何实例,如这个 SO 问题:stackoverflow.com/questions/17573598/…。尝试更改它,看看是否有效。
-
你的正则表达式也是错误的。 az 应该是 a-z 等
-
齐格!由于 stackoverflow.com 上的自动翻译而出错。正则表达式是: var regexp = /\s[A-Z a-z]+/g ;但是这个 Other Regex 工作得更好 var regexp = /[^a-z\s-]+[A-Z\s-]+/g;
标签: regex google-apps-script google-docs