首页 > 解决方案 > 如何在数组中插入新行?

问题描述

我有一个字符串数组。它是一个带有枚举的文本。所以它就像“1.abcde.2.fghijk。没有新行。我想写一个循环来检测“2.”所在的位置和它之前的位置(数组[I-1])应该为新行包含一个 \n。但我不知道在不删除同一位置的现有元素的情况下将新元素放置在数组中的命令。我该怎么做?

这是我到目前为止得到的代码:

let el = document.getElementById('textinhalt').textContent;

for(let i = 0; i<el.length; i++){
if(el[i]=="2" && el[i+1]=="."){
 
 }
}

标签: javascriptarrays

解决方案


你不需要循环。您可以简单地使用replacereplaceAll

两者都将正则表达式作为针,因此您可以检查其他数字,如2., 3., 4.,5.等等/([2-9]\.)/- 此正则表达式将找到所有符号数字.,而不是 0 或 1

在regex101试试这个正则表达式,看看它是如何工作的

let el = document.getElementById('textinhalt').textContent;
document.getElementById('textinhalt').innerHTML = el.replace(/([2-9]\.)/, '<br>$1');
<div id="textinhalt">1. abcde. 2. fghijk</div>

更新

对于更大的数字,我建议使用另一个正则表达式
/(?:[^1](\d+\.))/g,您可以在regex101上再次测试它

演示:

let el = document.getElementById('textinhalt').textContent;
document.getElementById('textinhalt').innerHTML = el.replaceAll(/(?:[^1](\d+\.))/g, '<br>$1');
<div id="textinhalt">1. abcde. 2. fghijk 15. asdasd 10000. dsfsdfsdfsd</div>


推荐阅读