使用 JavaScript 进行文本解析和格式化

Posted

技术标签:

【中文标题】使用 JavaScript 进行文本解析和格式化【英文标题】:Text parsing and formatting with JavaScript 【发布时间】:2014-04-22 08:37:58 【问题描述】:

我在一个应用程序中工作,在文本格式化(粗体、斜体和下划线)时遇到问题。我通过用#b#、#i# 和#u# 分割整个文本来制作一个数组。但在少数情况下,很难像那样拆分。我有另一种情况,我需要检查'%% word'之类的单词是否也被分开。几个例子是:

1. A #i#sample#/i# %%text #b#with%% text format#/b#
2. %%#b#A#/b#%%|%%#b#B#/b#%% will be good.

在所有情况下,我都需要一个如下所示的数组 -

["A"," ","<i>sample</i>"," ","%%text<b>with</b>%%"," ","<b>text format</b>"]

["%%<b>A</b>%%","|","%%<b>B</b>%%"," ","will be good."] //Space excluded

【问题讨论】:

【参考方案1】:
var s = "A #i#sample#/i# %%text #b#with%% text format#/b#",
    s1 = "%%#b#A#/b#%%|%%#b#B#/b#%% will be good.";
s.replace(/#(.*?)#/g, "<$1>");    //"A <i>sample</i> %%text <b>with%% text format</b>"
s1.replace(/#(.*?)#/g, "<$1>");   //"%%<b>A</b>%%|%%<b>B</b>%% will be good."

您可以使用捕获组将# 替换为适当的括号&lt;&gt;

【讨论】:

以上是关于使用 JavaScript 进行文本解析和格式化的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript第四周学习

在javascript中格式化文本

JavaScript 笔记 -- JSON

从Google电子表格中解析格式化文本

SpringMVC:JSON讲解

JSON学习