在转到文本区域的字符串中用换行符替换文本
Replace text with linebreaks in a string that goes to a textarea
我正在制作一个 HTA 应用程序,用于格式化一长串数字以匹配来自 Microsoft Dynamics AX 的过滤器。
脚本从剪贴板获取列表并将其格式化为段落和 26 个数字,最后将其打印到文本区域。
我的问题:我不知道如何用换行符替换段落中的文本。
我尝试了 str.replace("text", "\r")
以及 str.replace("text", "\n")
但它不起作用。
可能有点复杂,但效果很好,速度也很快,段落除外..
这是脚本:
function start() {
document.getElementById("dynamic").innerHTML = '<textarea id="to"></textarea>';
document.getElementById("backbutton").innerHTML = '<img onClick="reset()" id="Back" src="src/back.png" alt="Zurück">';
var cnt = 0;
document.getElementById("to").innerHTML = window.clipboardData.getData('Text');
var to = document.getElementById("to").value;
var num = to.search(" ");
if (num > 0) {
for (num = 1; num > 0; cnt++) {
var num = to.search(" ");
if (cnt > 26) {
var to = to.replace(" ", "ABSATZ");
var cnt = 0;
} else {
var to = to.replace(" ", "\,LEER");
}
}
for (nex = 1; nex > 0;) {
var nex = to.search("LEER");
var to = to.replace("LEER", " ");
}
for (nex2 = 1; nex2 > 0;) {
var nex2 = to.search("ABSATZ");
var to = to.replace("ABSATZ", "PARAGRAPHS HERE");
}
}
document.getElementById("to").innerHTML = to;
}
replace
与字符串只会替换第一个匹配项。要替换所有匹配项,您需要使用带有 g
标志的正则表达式:
str = str.replace(/text/g, "\n");
一定要转义正则表达式中的所有特殊字符。
您只需要声明一个变量一次。在代码中的每个变量赋值之前放置 var
既不必要又令人困惑。
我正在制作一个 HTA 应用程序,用于格式化一长串数字以匹配来自 Microsoft Dynamics AX 的过滤器。
脚本从剪贴板获取列表并将其格式化为段落和 26 个数字,最后将其打印到文本区域。
我的问题:我不知道如何用换行符替换段落中的文本。
我尝试了 str.replace("text", "\r")
以及 str.replace("text", "\n")
但它不起作用。
可能有点复杂,但效果很好,速度也很快,段落除外..
这是脚本:
function start() {
document.getElementById("dynamic").innerHTML = '<textarea id="to"></textarea>';
document.getElementById("backbutton").innerHTML = '<img onClick="reset()" id="Back" src="src/back.png" alt="Zurück">';
var cnt = 0;
document.getElementById("to").innerHTML = window.clipboardData.getData('Text');
var to = document.getElementById("to").value;
var num = to.search(" ");
if (num > 0) {
for (num = 1; num > 0; cnt++) {
var num = to.search(" ");
if (cnt > 26) {
var to = to.replace(" ", "ABSATZ");
var cnt = 0;
} else {
var to = to.replace(" ", "\,LEER");
}
}
for (nex = 1; nex > 0;) {
var nex = to.search("LEER");
var to = to.replace("LEER", " ");
}
for (nex2 = 1; nex2 > 0;) {
var nex2 = to.search("ABSATZ");
var to = to.replace("ABSATZ", "PARAGRAPHS HERE");
}
}
document.getElementById("to").innerHTML = to;
}
replace
与字符串只会替换第一个匹配项。要替换所有匹配项,您需要使用带有 g
标志的正则表达式:
str = str.replace(/text/g, "\n");
一定要转义正则表达式中的所有特殊字符。
您只需要声明一个变量一次。在代码中的每个变量赋值之前放置 var
既不必要又令人困惑。