![](/img/trans.png)
[英]How to convert a math equation string to json structure and parse using JavaScript?
[英]How to parse a string that uses individual delimiters into a hierarchical structure using JavaScript?
考虑到字符串使用分隔符来表示级别(非常类似于例如降价标头),是否有 JavaScript 库或可用于将字符串解析为分层数据结构的模式/良好实践?
# H1
## H2
### H3
#### H4
所以,如果我有这个字符串:
'#H1 ##H1.1 ##H1.2 #H2 #H2.1 #H3 #H4 ##H4.1 ###H4.1.1 ###H4.1.2 ###H4.1.3 ####H4.1.3.1 ###4.1.4'
我想把它转换成(具体结构不是很重要。可以是 JSON 或其他什么):
H1
H1.1
H1.2
H2
H2.1
H3
H4
H4.1
H4.1.1
H4.1.2
H4.1.3
H4.1.3.1
H4.1.4
当然,有很多方法可以实现这一点,而且并不难做到(事实上,我使用split
编写了一个快速实现,并迭代令牌数组,计算空令牌以确定级别)。 但我认为这一定已经解决了,也许有一个现成的解决方案,比我的更优雅和高效。 也许正则表达式向导可以在一行中完成?
无法想出纯正则表达式,但这算作单行。
const string = '#H1 ##H1.1 ##H1.2 #H2 ##H2.1 #H3 #H4 ##H4.1 ###H4.1.1 ###H4.1.2 ###H4.1.3 ####H4.1.3.1 ###H4.1.4', output = string.replace(/ #/g, '\\n').replace(/#/g, '\\t').trim() console.log(output)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.