首页 > 解决方案 > 将数据替换为以特定字符开头并以特定字符结尾的字符串

问题描述

我目前正在开发一个界面,其中数据来自 CSV 并放置在 div 中。

我的问题是标题与文本合并,我不能将它们应用到特定的样式:

<div class="projects">
*SEO* paragraph*SEA* paragraph*Design* paragraph*Data* paragraph
</div>

我正在寻找一种 Javascript 解决方案,它可以附加数据以获得此结果并允许我将样式应用于标题,完美的结果将是:

<div class="projects">
<div class="title">SEO</div> paragraph
<div class="title">SEA</div> paragraph
<div class="title">Design</div> paragraph
<div class="title">Data*</div> paragraph
</div>

这似乎不是一个高级 JS 问题,但我的知识实际上太弱了,无法找到解决方案。任何指导将不胜感激。

标签: javascriptstringsplit

解决方案


对于这类问题,最好的方法是使用正则表达式。它们并不容易,但只要有一点经验和耐心,你就可以到达那里。

您不需要字符“\r\n”,仅用于可视化格式化结果。

这是带有正则表达式在线工具的示例

这是工作示例。

var str = '<div class="projects"> *SEO* paragraph*SEA* paragraph*Design* paragraph*Data* paragraph </div>';


str = str.replace(/\*(.*?)\*/g, '\r\n<div class="title">$1</div>');

document.getElementById('code').innerHTML = str;
.xmp {
  white-space: pre-wrap;
  word-wrap: break-word;
}
<xmp id="code"></xmp>

您需要的主要代码行是:

str = str.replace(/\*(.*?)\*/g, '<div class="title">$1</div>');

推荐阅读