2016-09-14 61 views
0

我想要一个'换行'函数来传递一个字符串并将其打印在PDF上。我的功能到目前为止是传递变量来替换函数正则表达式javascript

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

array = newLineFunction_PDF('some Text'); 

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

它所做的是将文本切成长度为70的片段。最后一个单词,将其推入数组,然后用新行打印。现在我想将一个数字传递给函数,比如100,所以我可以决定每行文本的最大长度。

到目前为止,我尝试:

function newLineFunction_PDF(text, num) { 
    var re = new RegExp(/.{num}\S*\s+/g); 
    var arr = text.replace(re, "$&@").split(/\[email protected]/); 
    return arr; 
} 

但我不知道如何以及在哪里添加逃逸到新的正则表达式。

回答

1

正则表达式的参数是一个字符串:

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

加上漏出的工程:)反斜杠 – moody