传递变量来替换函数正则表达式javascript

时间:2016-09-14 08:39:19

标签: javascript regex function replace

我希望有一个'newline'函数来传递一个字符串并将其打印在pdf上。到目前为止,我的功能是

if (emojiImages == null || emojiImages.isRecycled()) {
        InputStream localInputStream;
        try {
            localInputStream = context.getAssets().open("emoji/emoji_2x.png");
            Options opts = new Options();
            opts.inPurgeable = true;
            opts.inInputShareable = true;
            emojiImages = BitmapFactory.decodeStream(localInputStream, null, opts);
        } catch (IOException e) {
            return Html.fromHtml(paramString);
        }
    }

它的作用是将文本切成长度为70的部分。最后一句话,将其推入阵列并随后用新线打印。现在我想将一个数字传递给函数,如100,所以我可以决定每行文本的最大长度。

到目前为止,我试过了:

var array = new Array();
function newLineFunction_PDF(text) {
  var arr = text.replace(/.{70}\S*\s+/g, "$&@").split(/\s+@/);
  return arr;
}

array = newLineFunction_PDF('some Text');

for( var i in array) {
  print(array[i]);
}

但我不知道如何以及在何处将转义添加到新的RegExp中。

1 个答案:

答案 0 :(得分:1)

Regexp的参数是一个字符串:

 var re = new RegExp('.{' + num + '}\S*\s+', 'g');