regex - Clojure 解析字符串

标签 regex clojure

我有以下字符串

layout: default
title: Envy Labs

What i am trying to do is create map from it

layout->default 
title->"envy labs"

Is this possible to do using sequence functions or do i have to loop through each line?

Trying to get a regex to work with and failing using.


(apply hash-map (re-split #": " meta-info))

最佳答案

user> (let [x "layout: default\ntitle: Envy Labs"]
        (reduce (fn [h [_ k v]] (assoc h k v))
                {}
                (re-seq #"([^:]+): (.+)(\n|$)" x)))
{"title" "Envy Labs", "layout" "default"}

关于regex - Clojure 解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1447271/

相关文章:

regex - 用正则表达式替换字符串中的 [ 和 ]

clojure - Common Lisp 中的原子和 Clojure 中的原子有什么区别?

带有元数据的 Clojure 变量

for-loop - Clojure - 格式化表格

java - 适用于不同语言环境的正则表达式

php - 如何将尾随换行符与正则表达式匹配?

c# - 如何从 C# 中的正则表达式中拆分数字?

php - "example@something.com"-> "example"PHP

Clojure、Java Interop 和代理方法

algorithm - 反序列化广度优先树