javascript - 如何在数组中插入新行?
问题描述
我有一个字符串数组。它是一个带有枚举的文本。所以它就像“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]=="."){
}
}
解决方案
你不需要循环。您可以简单地使用replace或replaceAll
两者都将正则表达式作为针,因此您可以检查其他数字,如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>
推荐阅读
- perl - 在文件中剪切并粘贴特定字符串
- azure - 将 Azure 数据工厂管道有条件地部署到另一个资源组
- javascript - ReactJS - 从 innerHtml 函数返回一个组件
- android - 在 Android Q API 29 中使用 getNeighboringCellInfo() 会给出错误“无法解析方法”而不是弃用警告
- javascript - 在 iframe 中单击按钮时从输入字段加载网页
- javascript - 无法检查文件是否存在于纯 JavaScript 中
- javascript - 尝试使用带有 AngularJS 的 Web 部件页在我的 SharePoint Online 自定义列表中显示数据
- ios - 如何使用 arkit 人脸跟踪获取 3d 位置数据?
- javascript - 如何从ajax调用更改php变量?
- javascript - jQuery在拖动时更新DOM