小编Dav*_*idR的帖子

使用正则表达式消除谷歌应用程序脚本中的换行符

我正在尝试为 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)

regex replace newline google-apps-script

7
推荐指数
1
解决办法
6918
查看次数

Json解组后,当另一个包访问时,Struct为空

我正在使用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)

json struct go unmarshalling

1
推荐指数
1
解决办法
61
查看次数

标签 统计

go ×1

google-apps-script ×1

json ×1

newline ×1

regex ×1

replace ×1

struct ×1

unmarshalling ×1