将字符串中的所有匹配项替换为哈希表中的值

用户名

我有一个包含BB代码的字符串,类似[img="image1"]something[/img]我有一个像这样的哈希图:

{:image1 "real_file_name.jpg"}

其中包含真实的图像路径。我想全部替换[img="XXX"]YYY[/img]<img src="real_path">.....</img>

因此,我需要找到所有[img=...]标签,并用哈希图中的相应值替换它们。

我知道如何使用Java和类似语言来执行此操作。我该如何在Clojure中做到这一点?

列特温斯基

您可以像使用其他任何语言一样进行操作:使用regexp迭代找到所有需要的图像结构,捕获每个图像的必要部分,然后将其替换为新字符串(将捕获的图像id替换为地图中的相应值):

您可以使用clojure.string/replaceregexp和替换功能,如下所示:

user> (require '[clojure.string :as s])
nil

user> (def input "[img=\"image1\"]something[/img] [img=\"image2\"]something[/img]")
#'user/input

user> (def paths {:image1 "real/path1" :image2 "real/path2"})
#'user/paths

user> (s/replace input #"\[img=\"(.+?)\"\](.*?)\[/img\]"
                 (fn [[_ img-id content]]
                   (str "<img src=\"" (paths (keyword img-id)) "\">"
                        content "</img>")))
"<img src=\"real/path1\">something</img> <img src=\"real/path2\">something</img>"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串中的所有匹配项替换为哈希表中的值

来自分类Dev

Ruby将哈希中的所有值转换为字符串

来自分类Dev

将字符串中的所有'='实例替换为'=='

来自分类Dev

JAVA:如何在嵌套的JSONString中查找子字符串的所有匹配项并替换为某些文本

来自分类Dev

将字符串值替换为Java中的哈希映射中的值

来自分类Dev

用JavaScript中的所有匹配项替换“标记”(字符串)

来自分类Dev

将字符串替换为 Python 中的匹配模式

来自分类Dev

查找字符串中的所有匹配项

来自分类Dev

将字符串中的所有非ASCII字符替换为其等效的ASCII

来自分类Dev

将字符串中的所有非ASCII字符替换为其等效的ASCII

来自分类Dev

如何替换字符串的所有匹配项?

来自分类Dev

将字符串中的重复值替换为0

来自分类Dev

将字符串中的重复值替换为0

来自分类Dev

将字符串替换为数组中的值

来自分类Dev

将文件中的所有IP地址替换为指定的字符串

来自分类Dev

JavaScript将字符串中的所有元音替换为toUpperCase吗?

来自分类Dev

如何将Java字符串中的所有'x'替换为数字

来自分类Dev

JavaScript将字符串中的所有元音替换为toUpperCase吗?

来自分类Dev

将Python Pandas Data Frame中的所有字符串类型替换为1

来自分类Dev

将字符串中的所有 'char' 替换为 'charchar'

来自分类Dev

将字符串中的正则表达式模式替换为取决于匹配项的替换字符串

来自分类Dev

如何用另一个表中的匹配值替换/更新列中每个字符串的所有实例?

来自分类Dev

将 R 中数据框中的所有值转换为字符串

来自分类Dev

用bash中的环境变量替换所有字符串正则表达式匹配项

来自分类Dev

在Groovy中使用正则表达式替换字符串中的所有匹配项

来自分类Dev

Python-正则表达式查找字符串中的所有匹配项并替换

来自分类Dev

将字符串中的“ /”替换为“ \ /”

来自分类Dev

将所有外来字符替换为字符串

来自分类Dev

在R中,根据相邻列中字符的匹配项将值替换为NA

Related 相关文章

  1. 1

    将字符串中的所有匹配项替换为哈希表中的值

  2. 2

    Ruby将哈希中的所有值转换为字符串

  3. 3

    将字符串中的所有'='实例替换为'=='

  4. 4

    JAVA:如何在嵌套的JSONString中查找子字符串的所有匹配项并替换为某些文本

  5. 5

    将字符串值替换为Java中的哈希映射中的值

  6. 6

    用JavaScript中的所有匹配项替换“标记”(字符串)

  7. 7

    将字符串替换为 Python 中的匹配模式

  8. 8

    查找字符串中的所有匹配项

  9. 9

    将字符串中的所有非ASCII字符替换为其等效的ASCII

  10. 10

    将字符串中的所有非ASCII字符替换为其等效的ASCII

  11. 11

    如何替换字符串的所有匹配项?

  12. 12

    将字符串中的重复值替换为0

  13. 13

    将字符串中的重复值替换为0

  14. 14

    将字符串替换为数组中的值

  15. 15

    将文件中的所有IP地址替换为指定的字符串

  16. 16

    JavaScript将字符串中的所有元音替换为toUpperCase吗?

  17. 17

    如何将Java字符串中的所有'x'替换为数字

  18. 18

    JavaScript将字符串中的所有元音替换为toUpperCase吗?

  19. 19

    将Python Pandas Data Frame中的所有字符串类型替换为1

  20. 20

    将字符串中的所有 'char' 替换为 'charchar'

  21. 21

    将字符串中的正则表达式模式替换为取决于匹配项的替换字符串

  22. 22

    如何用另一个表中的匹配值替换/更新列中每个字符串的所有实例?

  23. 23

    将 R 中数据框中的所有值转换为字符串

  24. 24

    用bash中的环境变量替换所有字符串正则表达式匹配项

  25. 25

    在Groovy中使用正则表达式替换字符串中的所有匹配项

  26. 26

    Python-正则表达式查找字符串中的所有匹配项并替换

  27. 27

    将字符串中的“ /”替换为“ \ /”

  28. 28

    将所有外来字符替换为字符串

  29. 29

    在R中,根据相邻列中字符的匹配项将值替换为NA

热门标签

归档