我正在尝试为 Google Docs 编写一个附加组件的一部分,它使用replaceText. 显而易见text.replaceText("\n","");的错误Invalid argument: searchPattern。我遇到同样的错误text.replaceText("\r","");。以下尝试无济于事:text.replaceText("/\n/","");, text.replaceText("/\r/","");. 我不知道为什么 Google App Script 不允许识别正则表达式中的换行符。
我知道已经有一个附加组件可以做到这一点,但我想将此功能合并到我的附加组件中。
即使使用基本的,也会发生此错误
DocumentApp.getActiveDocument().getBody().textReplace("\n","");
Run Code Online (Sandbox Code Playgroud)
我的完整功能:
function removeLineBreaks() {
var selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
var elements = selection.getRangeElements();
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
// Only deal with text elements
if (element.getElement().editAsText) {
var text = element.getElement().editAsText();
if (element.isPartial()) {
text.replaceText("\n","");
}
// Deal with fully selected text …Run Code Online (Sandbox Code Playgroud) 我正在使用Contact具有Load()方法的结构.这个想法是用数据Load()填充Contact字段.数据从服务器返回的json中解组.加载后,我希望能够访问数据Contact.
我知道json正确解组,因为我可以Load()在解组后立即将数据打印到控制台内.但是,此数据Contact一旦加载就不存在.所以当我创建一个new Contact并调用它的Load()方法时,当我去访问它们时,它的数据字段仍然是空的.
这是我的代码的简化版本(为简洁而减去导入):
package main
func main() {
client := &http.Client{}
mp := myPackage.NewContact("1234", client)
if err := mp.Load(); err != nil {
log.Println(err)
}
// prints empty string
log.Println(mp.EmailOptIn)
}
// myPackage
package myPackage
type Contact struct {
ID string
client *http.Client
EmailOptIn string `json:"marketing_optin"`
}
func NewContact(ID string, client *http.Client) *Contact {
return &Contact{
ID: ID,
client: client,
}
} …Run Code Online (Sandbox Code Playgroud)