我将数据填充到带有示例数据的字符串中:
包括:1。lorem ipsum 2. blah blah 3.测试测试排除:1。快速棕色2.fox 3.跳过
现在我们按原样显示字符串,但希望以格式良好的方式向用户显示,例如:
包括:
- lorem ipsum
- blah blah
- 测试测试
醇>排除:
- 快速的棕色
- 狐
- 跳过
醇>
为了使事情变得更复杂,似乎没有对此字符串的实际要求。有时数据用数字(1,2,3)分隔,有时用子弹点(∙)分隔,有时用极数( - )分隔。
不确定是否已经构建了一个库以帮助这种类型的格式化,现在想法明智我想要创建一个新的formattedToString()方法,我可以调用它来填充我的弹出div,可能使用一些正则表达式(我只知道简单的正则表达式)。我们正在使用ThymeLeaf作为模板引擎,如果这也有帮助的话。
感谢您的任何想法/帮助!
答案 0 :(得分:1)
对于您的示例,您可以使用这样的正则表达式:
\b(?=\d+\.|Exclude:)
使用替换字符串:
\n
我们的想法是确定您要用来添加\n
的模式。因此,对于上述正则表达式,它将使用number[s] followed by a dot
或单词exclude:
。如果你想添加更多模式,你必须这样做:
\b(?=Patt1|Patt2|...|PattN)
<强> Working demo 强>
答案 1 :(得分:1)
假设:
我们可以:
将include
替换为include<br/><ol>
${#strings.replace(line, 'include', 'include<br /><ol>')}
将所有数字,连字符或项目符号(在传入列表中)替换为<li>
${#strings.replace(line, '-', '<li>')}
将exclude
替换为</ol>exclude<br/><ol>
${#strings.replace(line, 'exclude', '</ol>exclude<br /><ol>')}
将</ol>
附加到传入列表字符串(即输入)