感谢Sigfried在这里的帮助,我能够在textarea中的每一行上进行正则表达式匹配,并将其解析为新的textarea。工作得很好,但是现在我需要将两个匹配的两个匹配组合在一起,每行都有一个逗号。
因此来自textarea的以下数据(id = 输入):
1234567812345678
8765432187654321
变成这个被放置在textarea(id = 输出):
1234567812345678,123456
8765432187654321,876543
目前代码解析16位数字并将其放入 output2 ,然后解析前6位数字,进入 output1 。相同的字符串,两个不同长度的不同输出。实际数据有很多不仅仅是16位数字,但我将其减少到16位数,然后是6位数。
function trimit() {
var str = "";
str = document.getElementById("input").value;
var sixes = str.match(/(^......)/mg);
var sixteens = str.match(/(^................)/mg);
document.getElementById("output1").value = sixes.join('\n');
document.getElementById("output2").value = sixteens.join('\n');
}
我尝试过像 sixteens.join +"," + sixes.join(' \ n'); 和 sixteens.join(' \ n')+"," + sixes.join(' \ n'); 但他们失败了。一个插入一个功能消息,另一个只合并最后一行。
当我这样做时,我得到了以下内容:
1234567812345678
,123456
8765432187654321
,876543
OR
1234567812345678
8765432187654321,123456
876543
而不是上面的示例,将一行中的组合字符串逐行显示。
帮助哦明智的人!
答案 0 :(得分:0)
不确定我是否理解正确,但如果您将最终输出修改为只有','那么为什么你打电话加入' \ n'。尝试 sixteens.join(',')+"," + sixes.join(',');
,无论如何都是加入的默认分隔符,所以你也可以调用join()。